java-静态代码块-父子类执行顺序

父类-静态代码块
子类-静态代码块
子类-main函数
父类-非静态代码
父类-构造函数
子类-非静态代码
子类-构造函数
package test;

public class FatherTest {
    static {
        System.out.println("父类-静态代码块");
    }

    public FatherTest() {
        System.out.println("父类-构造函数");
    }
    {
        System.out.println("父类-非静态代码");
    }

    public static void main(String[] args) {
        System.out.println("父类-main函数");
    }
}
package test;

public class SonTest extends FatherTest {
    static {
        System.out.println("子类-静态代码块");
    }

    public SonTest() {
        System.out.println("子类-构造函数");
    }
    {
        System.out.println("子类-非静态代码");
    }

    public static void main(String[] args) {
        System.out.println("子类-main函数");
        new SonTest();
    }
}

 

你可能感兴趣的:(java-静态代码块-父子类执行顺序)