面向对象
面向对象
对象在内存中的运行机制
多个对象的内存图
对象到底放在哪个位置
- 堆内存中
Car c = new Car(); c变量名中存储的是什么?
- 存储的是对象在堆内存中的地址
成员变量(name、price)的数据放在哪里,存在于哪个位置?
- 对象中,存在于堆内存中
两个变量指向同一个对象内存图
垃圾回收
- 注意:当堆内存中的对象,没有被任何变量引用(指向)的时候,就会被判定为内存中的“垃圾”
构造器
构造器的作用
- 定义在类中,可以用于初始化一个类的对象,并返回对象的地址
构造器的分类和作用
- 无参构造器(默认存在的):初始化对象时,成员变量的数据均采用默认值
- 有参构造器:在初始化对象时,同时可以接收参数为对象进行赋值
构造器的注意事项
- 任何类定义出来,默认就带了无参构造器,写不写都有
- 一旦定义了有参构造器,那么无参构造器就没有了,如果还想要无参构造器,此时就需要自己手写一个无参构造器
this关键字
this关键字是什么
- 可以出现在构造器、方法中
- 代表当前对象的地址
this关键字的作用
- 可以用于指定访问当前对象的成员变量、成员方法
封装
什么是封装?
- 告诉我们如何正确的设计对象的属性和方法
- 原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为
如何进行封装更好?
- 一般建议对象成员使用private(私有)关键字修饰(private修饰的成员只能在当前类中访问)。
- 为每个成员变量提供配套的public修饰的getter和setter方法暴露其取值和赋值
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Abulivyet!
评论