java第一章抽象和封装
面向过程和面向对象有什么区别?
面向过程的核心是函数,以功能为中心,实现了函数级别的代码重用。
面向对象的核心是封装了属性和方法(行为)的类,以数据为中心,实现了类级别的代码重用。
面向对象因为采用了类,所以具有封装、继承和多态特性,提高了代码重用性、可维护性和扩展性,适合大型项目的开发。
类和对象的区别:
类是对某一类事物的描述,是抽象的概念上的定义(一类事物),类具有自己的属性和行为
对象是实际存在的,具体事物的个体(一类实物详细的某一个)
关系:好比模具和用模具制作出的关系,一个类可以有多个对象
权限符的区别:
public:项目下所有的类文件都可以访问:项目可见性(权限最大)
protect:同一个包中都可用,protect可让子类访问
默认:什么都不写,再同一个包中可用,不写修饰符
private:权限只在自己的类中可见,其他不可用(另一个类中新建对象也不行)
final:final修饰的属性值是不可更改的
static:用它修饰的成员变量或方法可直接使用类名,静态方法中调用不能用super和this,在方法体里不可定义static变量
构造方法:
构造方法名称和类名相同,没有返回值类型,作用是在创建对象时执行一些初始化操作(完成对象成员的赋值)

方法重载的作用:
属性值已经在 构造方法中固定了,在创建对象时完成不同属性的动态赋值(灵活性强)

方法重载特点:方法名相同,构造方法参数列表不同与返回值类型和修饰符无关。
封装:
封装将属性设为private(私有的)
封装通过private,protect,public和默认权限控制符实现权限的控制,降属性设为private,属性只能在类中可见,在提供public权限的setter/getter实现对属性的读取(存取)在setter方法中对用户的输入的控制范围进行判断(控制用户输入范围)
this:当成员变量和局部变量名相同,必须使用this,列:public void setName(String name){this.name=name;}
总结:
抽有象类中可以有构造方法吗?
解答:抽象类可以有构造方法,
其构造方法可以被本类的其他构造方法调用,
若此构造方法不是由 private 修饰,也可以被其子类中的构造方法调用。
抽象类和抽象方法的特点?
答:(1) 抽象类和抽象方法都通过 abstract 关键字来修饰。
(2) 抽象类不能实例化。抽象类中可以0到多个抽象方法,甚至全部方法都可以
是抽象方法。
(3) 抽象方法只有方法声明,没有方法实现。
有抽象方法的类必须声明为抽象类。
子类必须重写所有的抽象方法才能实例化,否则子类还是一个抽象类。
属性可以是简单变量,也可以是一个对象
面向对象的三大特征 封装、继承、多态
abstract 可以用来修饰类和方法,但不能用来修饰属性和构造方法
java第一章抽象和封装的更多相关文章
- “全栈2019”Java第一章:安装JDK11(Mac)
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 文章原文链接 “全栈2019”Java第一章:安装JDK11(Mac) 下一章 “全栈2019”Java ...
- Java 第一章 初识Java
第一章笔记 什么是计算机程序:算机为完成某些功能生产的一系列有序指令集合 Java技术包括: java SE:标准版 java EE:企业版 Java ME:移动版 开发Java程序步骤:1.编写 2 ...
- Java第一章
第一章 计算机程序:计算机为完成某些功能产生的一系列有序指令集合. Java技术包括:JavaSE(标准版) JavaEE(企业版) ---JavaME(移动版) 开发Java程序步骤:1.编写 2 ...
- 20165233 Java第一章学习总结
20165233 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一章 Java特点:语法简单.面向对象.与平台无关.动态. 字节码不能被任何平台直接识别. ...
- Java第一章----Java概述+环境搭建
写在前面的话: Java基础的东西看过好几遍,但是过一段都就忘记了,所以这次我决定花费一些时间整理一个系列博客供以后方便查阅.此系列根据Java编程思想+Java核心技术两本书整理而来,这两本书也是我 ...
- Java OOP——第一章 对象和封装
1.软件出现的目的: 用计算机的语言描述现实世界 用计算机解决现实世界的问题 ◆面向对象设计和开发程序的好处: 交流更加流畅 提高设计和开发效率 计算机语言的发展向接近人的思维方式演变 ...
- Java中的抽象和封装
一.面向对象和面向过程的区别 面向对象: 核心:封装了属性和方法的类,以数据为中心,实现了类级别的代码重用 面向对象因为采用了类,所以具有继承和多态特性,可以进一步重用代码和简化编程 面向过程: 核心 ...
- 对象导论 Thinking in Java 第一章
1.1 抽象过程 1.人们能够解决问题的复杂性直接取决于抽象的类型和质量. 1.2 每个对象都有一个接口 1.3 每个对象都提供服务 1.4 被隐藏的具体实现 1.程序猿分为:类创建者 和 客户端程序 ...
- 学习JAVA第一章的心得
我抱着万分期待的心情开始了我第一天的JAVA学习课程,其实在第一开始的时候我对计算机行业便有很高地兴趣了.这主要归功于我真的从很小开始就就接触了电脑.进入学校以来,我就很期待老师会怎样教我们,会怎样带 ...
随机推荐
- Ubuntu14.04+ROS 启动本地摄像头
STEP1安装usb_cam 创建一个工作空间,make一下 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make STEP2下面是安装usb_c ...
- [security CRT] VB实现自动下载脚本
#$language = "VBScript" #$interface = "1.0" crt.Screen.Synchronous = True ' This ...
- paiza
<?php $str1 = ('paiza'); $str2 = ('apple'); $str3 = ('letter'); function bigTower($str1, $str2, $ ...
- Monkey相关参数 笔记
Monkey相关参数 笔记 Monkey是Android系统自带的一个命令行工具,可运行在模拟器里或实际设备中. Monkey可以向被测试的应用程序发送伪随机的用户事件流(如按键.触屏.手势等),实 ...
- C语言的“编译、链接”
我们写的代码,仅仅是文本文件(txt),不管后缀怎么变,终究是文本文件,计算机只能显示,不能做事(执行). 文本文件通过“编译.链接”,成为可执行文件(windows下是exe): 编译:生成.o文件 ...
- Linux中VIM的使用
转自:http://www.lupaworld.com/?uid-296380-action-viewspace-itemid-118973 vi/vim 基本使用方法本文介绍了vi (vim)的基本 ...
- Angular 引入第三方框架方法(如Jquery,Bootstrap)
1.npm i jquery --save / npm i bootstrap --save 2.angular.json 引入路径 3.引入Jquery和Bootstrap的类型描述文件 ...
- Jmeter使用插件监控服务器资源的使用情况
环境准备 客户端: 1)安装最新版的Jmeter,目前为 Jmeter5.0 2)安装插件管理器:JMeterPlugin jmeter-plugins-manager.jar下载完成之后,将下载的j ...
- 003.[python学习] 简单抓取豆瓣网电影信息程序
声明:本程序仅用于学习爬网页数据,不可用于其它用途. 本程序仍有很多不足之处,请读者不吝赐教. 依赖:本程序依赖BeautifulSoup4和lxml,如需正确运行,请先安装.下面是代码: #!/us ...
- 修改 Vultr 登录密码
Debian,Ubuntu 访问控制台,打开在线 Console,点击右上角的 “Send CtrlAltDel”,按 ESC 键启动 GRUB boot prompt. 按 e 编辑第一启动项.按 ...