java方法执行顺序验证

代码:

class Parent {
    public Parent() {
        System.out.println("4---父类构造方法");
    }
    static {
        System.out.println("1---父类静态代码块");
    }
    {
        System.out.println("3---父类普通代码块");
    }
}
class Child extends Parent {
    public Child() {
        System.out.println("6---子类构造方法");
    }
    static {
        System.out.println("2---子类静态代码块");
    }
    {
        System.out.println("5---子类普通代码块");
    }
}
public class Test {
    public static void main(String[] args) {
        new Child();
    }
}

执行结果:

代码:

public class Test {
    private static Test test1 = new Test("test1");
    private static Test test2 = new Test("test2");
    static {
        System.out.println("===静态代码块===");
    }
    public Test(String name) {
        System.out.println("["+name+"]的构造函数@"+this.hashCode());
    }
    {
        System.out.println("普通代码块@"+this.hashCode());
    }
    public static void main(String[] args) {
        new Test("test");
    }
}

执行结果:

posted @ 2021-06-29 14:24  一柒微笑  阅读(129)  评论(0编辑  收藏  举报