package MyItem;
public class ExtendsTest extends Egg2{
public ExtendsTest() {
System.out.println("我是子类");
//insertYolk(new Yolk());
}
public static void main(String[] args) {
ExtendsTest e2 = new ExtendsTest();
/**
* ExtendsTest e2 = new ExtendsTest();
* 通过这个可以测试出初始化顺序为: 先初始化父类中的内部类,再父类的构造器,再自己的构造器
*/
//e2.g();
}
}
class Egg2 {
protected class Yolk {
public Yolk() {System.out.println("Egg2.Yolk");}
public void f() {System.out.println("Egg2.Yolk.f()");}
}
private Yolk y = new Yolk();
public Egg2() {
System.out.println("New egg2()");
}
public void insertYolk (Yolk yy ) {
y = yy;
}
public void g () {
y.f();
}
}
Egg2.Yolk
New egg2()
我是子类
通过这个可以测试出初始化顺序为: 先初始化父类中的内部类,再父类的构造器,再自己的构造器