类 的加载顺序

理论:在Java中有很多类的它们之间含有继承关系,怎么判断他们的类加载顺序呢

father:

package com.opendev.father;

public class father {

    public father() {
        System.out.println("构造器father");
    }

    static {
        System.out.println("静态代码块father");
    }

    {
        System.out.println("普通代码块father");
    }
}

 son:

package com.opendev.father;

public class son extends father {

    public son() {
        System.out.println("构造器son");
    }

    static {
        System.out.println("静态代码块son");
    }

    {
        System.out.println("普通代码块son");
    }
}

main

package com.opendev.father;

public class MainTest {

    public static void main(String[] args) {
        new son();
    }
}

现象:


小总结:

父类静态代码块 > 子类静态代码块 

父类普通代码块 > 子类普通代码块 

父类构造器 > 子类构造器 

原文地址:https://www.cnblogs.com/cb1186512739/p/12841823.html