版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zx2015216856/article/details/82556023
执行顺序:父类静态块-->子类静态块-->父类非静态块-->父类构造方法-->子类非静态块-->子类构造方法
当父类或子类中有多个静态方法时按在代码中的顺序执行
public class Father {
static {
System.out.println("Father中的静态块:1");
}
static {
System.out.println("Father中的静态块:2");
}
{
System.out.println("Father中的非静态块");
}
public Father() {
System.out.println("Father构造方法");
}
public static void main(String[] args) {
Son son = new Son();
}
}
class Son extends Father{
static {
System.out.println("Son中的静态块:1");
}
static {
System.out.println("Son中的静态块:2");
}
{
System.out.println("Son中的非静态块");
}
public Son() {
System.out.println("Son构造方法");
}
}
执行结果: