(1) 初始化:
所以如果继承关系为:A导出B再导出C,在创建C对象的情况下的调用顺序是:
* (1) A的静态域,B的静态域,C的静态域;
* (2) A的非静态域,A的构造器,B的非静态域,B的构造器,C的非静态域,C的构造器
(2)清理:
销毁的顺序应该与初始化的顺序相反。
(3)super/this
在子类中可以通过super关键字调用父类的方法。也可以通过this关键字调用自己本身的方法。
但是在构造函数中super和this关键字只可以存在一个,并且是放在构造函数的第一句。
如果C继承自B,B又继承自A,如果想在C的method方法中调用A的方法,只有通过创建A的对象,试图通过super.super.method()来调用是不可行的,因为super不允许有两层或者以上连续调用。
时间: 2024-10-29 20:57:47