版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
package mytest;
public class B extends C{
private static A a = new A();
private static B b = new B();
{
System.out.println("4");
}
static {
System.out.println("5");
}
public B(){
System.out.println("6");
}
}
package mytest;
public class C {
private static A a = new A();
private static B b = new B();
private static C c = new C();
{
System.out.println("7");
}
static {
System.out.println("8");
}
public C(){
System.out.println("9");
}
}
package mytest;
public class A extends B{
{
System.out.println("1");
}
static {
System.out.println("2");
}
public A(){
System.out.println("3");
}
public static void main(String args[]){
new A();
}
}
输出结果:
7
9
4
6
1
3
7
9
4
6
7
9
8
7
9
4
6
1
3
7
9
4
6
5
2
7
9
4
6
1
3
关于这道面试题如果 一看起来的会吓一跳。。
但是如果看看前一篇文章 就会豁然开朗:关于java类加载机制探索理解一