public class Fu {
static {
System.out.println("父类的静态代码块");
}
{
System.out.println("父类的代码块");
}
public Fu(){
System.out.println("父类的构造方法");
}
}
public class Zi extends Fu{
static {
System.out.println("子类的静态代码块");
}
{
System.out.println("子类的代码块");
}
public Zi(){
System.out.println("子类的构造方法");
}
}
public class Test {
public static void main(String[] args) {
Zi zi=new Zi();
Zi zi1=new Zi();
}
}
输出结果:
父类的静态代码块
子类的静态代码块
父类的代码块
父类的构造方法
子类的代码块
子类的构造方法
父类的代码块
父类的构造方法
子类的代码块
子类的构造方法
总结:父类静态代码块——子类静态代码块——父类代码块——父类构造——子类代码块——子类构造。
类的静态代码块只执行1次。