本帖最后由 晋一峰 于 2014-8-6 22:45 编辑
昨天遇到了一个看程序写结果的题,对子类父类加载流程一直很模糊,求大神详解
class X {
Y b = new Y( );
X( ) {
System.out.print("X");
}
}
class Y {
Y( ) {
System.out.print("Y");
}
}
public class Z extends X {
Y y = new Y( );
Z( ) {
//@@@@
System.out.print("Z");
}
public static void main(String[ ] args) {
new Z( );
}
}
程序执行的结果是YXYZ , 求具体流程与解释,
若在@@@@处加入 super( );程序结果又如何? |
|