P14.
final修饰的方法无法被覆盖,无法被重写
final修饰的类无法被继承
final修饰的局部变量一旦赋值,无法再次赋值。只能赋一次值
final修饰的对象,只能指向这个对象,并且只能永远指定这个对象内存地址。
final修饰实例变量必须手动赋上值,不能让系统默认赋值,否则报错。
P15.
final修饰的实例变量一般添加:static,变为静态,称为常量。常量名全部大写
,单词之间用下划线衔接。
————————————————————————————————
P17.
抽象类是:类和类之间有共同特征,把这些特征总结抽象出来的是抽象类。无法创建对象。
抽象类定义:语法
【修饰符列表】 abstract class 类名{
类体;
}
抽象类是用来被子类继承的。,子类可以实例化。
final和abstract不能联合使用,会报错
抽象类有构造方法,供子类使用。
P19.
抽象方法:没有实现的方法,没有方法体
语法:public abstract void doSome();
抽象方法:没有方法体
修饰符中有abstract关键字
抽象方法必须出现在抽象类中,抽象类中不一定非要有抽象方法。
P21.
从父类继承过来的抽象方法必须重写。
一个非抽象的类继承抽象类,必须要将抽象类中的抽象方法实现!
————————————————————————————————
P23.
接口是引用数据类型
接口是完全抽象的,接口是特殊 的抽象类。
语法:【修饰符列表】 interface 接口名{}
接口支持多继承,一个接口支持继承多个接口
接口只有两部分内容,抽象方法和常量
接口中所有的元素都是public修饰的,都是公开的
接口的抽象方法可以省略public abstract。
接口中的常量public abstract final可以省略。
P29
类和类之间叫做继承,类和接口之间叫实现,也可以叫继承。
继承使用extends关键字
实现使用implement关键字完成
当一个非抽象的类实现接口,必须把所有的抽象方法实现。实现时public修饰符不能丢掉
P31
接口和接口是多继承,接口和类是多继承。实现多个接口,实际上是实现多继承的机制。
一个类可以继承多个接口。
继承和实现同时存在。
总结接口重要语法:
当一个非抽象的类实现接口,必须把所有的抽象方法实现。
实现时public修饰符不能丢掉。
一个类可以继承多个接口。
extends和 implement可以共存,extends在前,implement在后
使用接口可以使用多态,父类型指向子类型。
P34
接口在开发中的作用
多态:面向抽象编程,不要面向具体编程,降低程序的耦合度,提高程序的扩展力。
P38
接口可以解耦合
——————————————————————————————
抽象类和接口有什么区别?
抽象类是半抽象
接口是全抽象
抽象类中有构造方法
接口没有构造方法
接口和接口之间支持多继承
类和类之间只能支持单继承
一个类可以同时实现多个接口
一个抽象类只能继承一个类
接口中只允许出现常量和抽象方法