容易忽略的基础
一、先别看答案,说出这段代码的执行顺序
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类的构造方法执行~"); } }
执行顺序是:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
Paren类的静态方法执行~ Son类的静态方法执行~ Paren类的构造方法执行~ Son类的构造方法执行~ Paren类的构造方法执行~ Son类的构造方法执行~