final,多态
1、final
final:常量,不能被修改。可以修饰类(不能被继承)、方法(不能被重写)、变量(只能被赋值一次)。
注意事项:final修饰基本类型,基本类型的值不能改变。
final修饰引用类型,引用类型的地址不能改变;该对象堆里的值可以改变。
final静态常量最好在声明时赋值,非静态常量最好在构造函数结束前赋值。
2、多态
多态:某一个事物,在不同时刻表现出不同的状态,如:猫是猫【Cat c=new Cat();】,猫是动物【Animal c=new Cat();】 。
多态的前提:有继承,有方法的重写,有父类引用子类。
多态的优点:提高了代码的维护性、可扩展性。
多态的缺点:父类不能访问子类特有的功能(可以通过强转访问,如:Father f=new Son(); Son s=(Son)f; ) 。
注意事项:子类可以访问父类的内容,父类不可以访问子类的内容。
父类new子类的时候,访问父类的构造函数。
父类new子类的时候,静态方法编译、运行的都是父类的内容(因为静态方法只和类相关)。
父类new子类的时候,成员变量、成员方法编译的都是父类的内容,成员变量运行父类的内容,成员方法运行子类的内容。