关于java类加载机制探索理解二(面试题)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/ppwwp/article/details/102667180
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类加载机制探索理解一

类似总结连接 参考

猜你喜欢

转载自blog.csdn.net/ppwwp/article/details/102667180