我认为应该是中国职联CBA
这样的题有个规律,先看父类。
首先,程序走main入口进来,然后运行 A a = new A();
然后程序发现他又父类,就去找他的父类。
然后发现他的父类C没有成员变量需要初始化但有默认构造,所以运行默认构造输出了C
然后父类弄完了就回来走A类,发现,咦。。A类有个成员变量public B b需要初始化为new B();那么就要去走B类。
然后我们看B类没有父类,所以看他有没有成员变量,然后看有没有默认构造。他有默认构造,所以就输出了B
最后回到A类运行A类的默认构造A(),输出A
所以最后是CBA 我一开始还犹豫会不会运行B。。因为没考虑过成员变量的初始化问题。。然后测试了下确实是CBA然后放心啦 |