1.找到main方法,程序入口,开始执行
2.执行new A12().h1();
2.1.由于创建了对象A12,执行A12的构造方法即:默认构造方法 A12();
2.2.由创建的对象A12调用自身的方法h1();
2.3.执行void h1() {new B12().han1();}
2.3.1. 创建B12对象,调用B12的构造方法即:B12(){System.out.print("1"+a); }
2.3.2. B12的构造方法打印出"1"+a 由于a="外部",所以打印出 “1外部”
2.3.3. 然后紧接着执行对象B12的方法void han1(){System.out.print("bbbbb");}
2.3.4. 执行了han1()后,打印结果变成了 “1外部”+"bbbbb" = “1外部bbbbb"
3.接下来执行System.out.println(); 换行
4.接下来执行System.out.print(A12.h());
4.1. 直接由类名A12调用A12的方法h();
4.2. 执行 static A12 h(){return zz;} 因为static A12 zz=new A12();所以打印出new A12();
4.3. new A12()对象会直接打印该对象在创建过程中内存中的首地址。如A12@c17164 |