一、 封装
a) 数据实体类:将类中的属性私有化,通过开放公共的setter和getter方法和外界进行交互。
b) 封装的概念:隐藏类中的数据或方法的实现。
c) 数据实体类的封装过程
- 私有化所有属性
- 为每个属性配一对访问器:get和set方法 alt+shift+s r
- 对于属性的值,我们守住入口,开发出口
二、 继承
a) why? 通过继承可以实现代码的复用,子类复用父类的数据和方法。
b) how? 在创建子类对象的同时创建一个专属于该子类对象的父类对象。
c) 关键字:extends
d) 关键字:super
e) this VS super
当前对象 当前类的父类对象
this(参数列表); super(参数列表);
当前类的其他构造方法中 只能在直接子类的构造方法中调用
this(…),super(…) 必须是构造方法中的第一句话
f) 类型转换 - 将子类对象赋值给父类类型的引用:自动类型转换 Pet p = new Dog();
- 将父类对象赋值给子类类型的引用:强制类型转换
- 借助于instanceof运算符,判断父类引用的实际类型,才能进行安全的强制类型转换
Pet p = …
if(p instanceof Dog){
((Dog)p).method();
}
三、 枚举类型 enum
a) 自定义取值范围的数据类型
四、 多态
a) 概念:一种类型,多种表现形式
b) 要实现多态,就必须有多个子类继承同一个父类
五、 关键字static 静态
a) 作用:是在类装载的过程中创建
b) 可以修饰什么?可以修饰属性,方法,代码块,类
c) 当属性和方法被static修饰后,有什么特点: - 未被static修饰的属性和方法被称为对象属性和方法
- 被static修饰的属性和方法被称为类属性和方法
d) 父类静态代码块 >
子类静态代码块 >
父类普通代码块 >
父类构造方法 >
子类普通代码块 >
子类构造方法
六、 访问修饰符