代码块经典例题:
class Fu4{
static{
System.out.println("静态代码块Fu");
}
{
System.out.println("构造代码块Fu");
}
public Fu4(){
System.out.println("构造方法Fu");
}
}
class Zi4 extends Fu4{
static{
System.out.println("静态代码块Zi");
}
{
System.out.println("构造代码块Zi");
}
public Zi4(){
System.out.println("构造方法Zi");
}
}
class Test{
public static void main(String[] args){
Zi4 zi = new Zi4();
}
}
静态代码块Fu
静态代码块Zi
构造代码块Fu
构造方法Fu
构造代码块Zi
构造方法Zi
静态代码块:随着的类的加载而加载,优先于对象存在
子类继承父类,需要让父类先初始化(跟父类相关的父类先初始化)
静态代码块>构造代码块>构造方法