多态(后期绑定)
JAVA中所有的函数,除了声明为final,皆使用后期绑定。(final函数存在的意义:防止子类重载)
构造函数的调用顺序:
1、调用base class函数;
2、各个成员的声明顺序;
3、本身构造函数本体。
finalize()函数至少具有protected权限。
构造函数中唯一可以安全调用的函数便是base calss中的final函数(对private函数一样成立)。
注:
final和private的区别:
1、修饰类中的方法:
final关键字是用来限制方法的可重载性的。所以父类的final方法对子类是可继承不可重载的。
private关键字是用来限制方法的可见性的。所以父类的private方法对子类是不可继承不可重载的。
2、修饰类中的成员变量:
private修饰的成员变量跟成员方法一样,不能被子类继承,因为其对子类不可见。
final修饰的成员变量可被子类继承和使用,但是无法修改,只能将其初始化(该变量还未初始化的情况下)。
网友评论