容易忽略的基础

一、先别看答案,说出这段代码的执行顺序

public class Demo {
    public static void main(String[] args) {
        Parent parent = new Son();
        Parent parent1 = new Son();
    }
}

class Parent {
    static {
        System.out.println("Paren类的静态方法执行~");
    }

    public Parent() {
        System.out.println("Paren类的构造方法执行~");
    }
}

class Son extends Parent {
    static {
        System.out.println("Son类的静态方法执行~");
    }

    public Son() {
        System.out.println("Son类的构造方法执行~");
    }
}

执行顺序是:

Paren类的静态方法执行~
Son类的静态方法执行~
Paren类的构造方法执行~
Son类的构造方法执行~
Paren类的构造方法执行~
Son类的构造方法执行~
View Code
原文地址:https://www.cnblogs.com/zhangzhixi/p/14194062.html