面向对象介绍
⚫ 并不是一个技术,而是一种编程指导思想。
⚫ 把现实世界的具体事物全部看成一个一个的对象来解决问题。
为什么要用面向对象编程
⚫ 生活中我们解决问题就是按照对象化的方式进行的。如果程序也能够按照生活的中的方式来解
决问题,那么程序就更符合人类的思维习惯,代码看起来会更易理解、更简单。
在Java中,必须先设计类,才能获得对象。
类(设计图):是对象共同特征的描述; 对象:是真实存在的具体实例。
⚫ 成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值; 一般无需指定初始化值,存在默认值。
⚫ 类名首字母建议大写,且有意义,满足“驼峰模式”。
⚫ 一个Java文件中可以定义多个class类,且只能一个类是public修饰,而且public修饰的类名必须成为代码文件名。
实际开发中建议还是一个文件定义一个class类。
1.对象放在哪个位置?
⚫ 堆内存中
2. Car c = new Car(); c变量名中存储的是什么?
⚫ 存储的是对象在堆内存中的地址。
3. 成员变量(name、price)的数据放在哪里,存在于哪个位置?
⚫ 对象中,存在于堆内存中。
垃圾回收
⚫ 注意:当堆内存中的类对象或数组对象,没有被任何变量引用(指向)时,就会被判定为内存中的“垃圾”。
⚫ Java存在自动垃圾回收器,会定期进行清理。
学构造器的目的?
Get1: 真正知道对象具体是通过调用什么代码完成的。
Get2: 能够掌握为对象属性赋值的其他写法。
注意事项
⚫ 任何类定义出来,默认就自带了无参数构造器,写不写都有。
⚫ 一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写一个无参数构造器了。
1. this关键字的作用?
⚫ 代表当前对象的地址。
2. this关键字在构造器中、成员方法中可以做什么?
⚫ 可以用于访问当前对象的成员变量
封装
⚫ 面向对象的三大特征:封装,继承,多态。
⚫ 什么是封装? 隐藏实现细节,暴露出合适的访问方式。(合理隐藏、合理暴露)
1.封装是什么,一般封装怎么体现出来?
⚫ 面向对象的三大特征之一,合理隐藏,合理暴露。
⚫ 一般会把成员变量使用private隐藏起来。
⚫ 通过getter和setter方法暴露其访问。
2.封装有什么好处?
⚫ 加强了程序代码的安全性。
⚫ 适当的封装可以提升开发效率,同时可以让程序更容易理解与维护。
JavaBean
⚫ 也可以理解成实体类,其对象可以用于在程序中封装数据。
标准JavaBean须满足如下要求:
⚫ 成员变量使用 private 修饰。
⚫ 提供每一个成员变量对应的 setXxx() / getXxx()。
⚫ 必须提供一个无参构造器。