面试中常常遇到静态代码块 构造代码块 构造方法的执行顺序的问题,下面简单的介绍一下
//静态代码块是随着类的加载而加载,而构造代码块和构造方法都是随着对象的创建而加载
class Father{
static {
System.out.println(“Father static code”);
}
{
System.out.println(“Father code”);
}
public Father(){
System.out.println(“Father GouZao”);
}
}
class Son extends Father{
static {
System.out.println(“Son static code”);
}
{
System.out.println(“Son code”);
}
public Son(){
System.out.println(“Son GouZao”);
}
}
public class Main {
public static void main(String[] args) {
Son son=new Son();
System.out.println("---------------------------------");
Son son2=new Son();
System.out.println("---------------------------------");
Son son3=new Son();
}
}