先调用基类的构造函数,然后才调用子类的构造函数。new C的对象时调用其父类B的构造方法,然后B继承A再调用A的构造方法,所以输出为:
I AM A!
I AM B!
I AM C!
构造函数调用顺序问题
记住先调用子类的构造函数 再调用基类的构造函数
程序中 C c = new C();
定义了一个C对象,C类继承自B类 ,但B继承自A,所以先调用A类的构造函数,然后B类 然后C类