第四周学习笔记
ch5
- 子类和父类
- 子类只能有一个父类
- 使用关键字extendsy
class 子类 extends 父类
- 系统默认的祖先类Object(java.lang包中)
- 继承:子类继承父类的方法可以直接作为实例方法调用,继承的成员变量和方法的访问权限不变;子类父类不在同一包中时只继承protected和public变量/方法。final类不能被继承。
- 成员变量的隐藏和重写:
- 隐藏:子类声明的成员变量和从父类继承的名字相同,隐藏继承的。可以使用
super
关键字来进行对被隐藏的成员变量/方法的操作,也可以来调用父类的构造方法。 - 重写:方法的名字、参数个数、类型与父类完全相同。重写方法的类型可以是父类方法的子类型。重写时权限只允许提高。目的:隐藏继承的方法。子类产生各自的功能行为→多态。
- 抽象abstract类/方法
- 只允许声明,不允许实现(不和final与static修饰)
- 不能用new创建类对象,非abstract类不能有abstract方法,
- 面向抽象编程应对变化的需求
开-闭原则:对扩展开放,对修改关闭
ch6 接口
- 关键字
interface
使用implements
进行实现,多个接口用逗号分隔开 - 重写时方法的访问权限要使用
public
进行修饰(抽象类可以重写也可以直接拥有该方法) - 接口可以被继承(不加public修饰认为是友好接口)
- 回调:接口属于引用型变量,某一接口的类创建的对象的引用赋值给该接口的引用变量,该接口变量可调用被类实现的接口方法
接口中只能有常量,不可以有变量。常量为static public,方法只能是抽象方法且访问权限为public
理解的不清楚的地方,上转型变量,子类父类与接口与封装的区别