面向对象
设计对象并使用
- 类
- 是对象共同特征的描述
- 对象
- 是真实存在的具体实例
- 设计类,创建对象并使用
- 定义类的几个补充注意事项
- 类名首字母建议大写,不能用关键字
- Java文件中可以定义多个class类,但只能一个类是public修饰,而且public修饰的类名必须为代码文件名
- 成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值;一般无需指定初始化值,存在默认值
对象内存图
- 对象放在堆内存中
- 成员变量
- 成员方法的引用地址
- 存储的是对象在堆内存中的地址
- 成员变量放在对象中,存在堆内存中
- 两个变量指向同一个对象
- Java的垃圾回收机制
- 定期清理长时间没有引用过的堆内存空间
构造器
- 定义
- 定义在类中的,可以用于初始化一个类的对象,并返回对象的地址。
-
格式
- 分类
- 无参数构造器
- 初始化对象时,成员变量的数据均采用默认值
- 类被定义出来,默认自带了无参数构造器,写不写都有
- 有参数构造器
- 在初始化对象的时候,同时可以接受参数为对象进行赋值
- 一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写无参数构造器
- 无参数构造器
this关键字
封装
- 告诉我们,如何设计对象的属性和方法
- 原则
- 对象代表什么,就得封装对应的数据,并提供数据对应的行为
- 人画圆
- 人调用圆的draw方法来画圆
- 人关门
- 人调用门的close方法来关门
- 对象举例
- String
- 代表字符串对象
- 拥有操作字符串的很多方法
- 代表字符串对象
- Socket
- 代表一个网络连接
- 可以连接别人,发消息,收消息
- 代表一个网络连接
- String
- 好处
- 降低我们的学习成本,可以少学、少记
- 如何更好的封装
标准JavaBean
- 也可以称为实体类,其对象可以用于在程序中封装数据
- 要求
- 成员变量使用private修饰
- 提供成员变量对应的setXxx和getXxx方法
- 必须提供一个无参构造器,有参构造器是可写可不写的
补充知识
- 成员变量
- 在类中,方法外
- 有默认值 ,无需初始化
- 在堆内存中
- 随着对象的创建而存在,随着对象的消失而消失
- 作用域不定
- 局部变量
- 常见于方法中
- 没有默认值,使用之前需要完成赋值
- 在栈内存中
- 随着方法的调用而存在,随着方法的运行结束而消失
- 在所归属的大括号中
综合案例