1、方法重写:
子类根据需求对从父类继承来的方法进行改写,是多态机制的前奏,重写方法必须和被重写的方法的方法名、参数列表、返回值相同。
重写方法不能使用比被重写的方法更为严格的访问权限。
父类中的私有方法不能被重写(子类不会继承父类的私有方法)。
在重写的方法中,可以通过super.函数名来调用被重写的父类方法。
2、final 关键字的特点:
final可以用来修饰变量、方法、和类。
final修饰的基本类型变量是一个常量,一旦修饰了就不能再修改,一般都和static关键字一起配合使用,final成员变量必须由程序员显示赋初始值,系统不会对final成员进行隐式初始化。
final修饰成员变量指定的初始化位置如下:
类属性的(静态的):可在静态初始化块中、声明该属性时指定初始值。
实例属性的:非静态初始化块中、声明该属性时、和构造函数中指定初始值。
final修饰局部变量时,如果没在定义时初始化,可在后面的代码中赋初始值,但是只能赋一次值。
final修饰形参时,因形参体调用该方法时,由系统根据传入参数来初始化,所以定义final修饰的形参不能赋值。
final修饰引用型变量时,它保存的仅仅是一个引用地址,即一直引用这个对象,但这个对象的值可以被改变,如下图:
final修饰的类代表此类不能被继承。
final修饰的方法代表此方法不能被重写,但可以被重载。