Java属性的初始化顺序
静态优于非静态 > 父类优于子类
class Fu {
{
System.out.println("这是父类的匿名代码块:父类的非静态属性");
}
static {
System.out.println("这是父类的静态方法");
}
public Fu() {
System.out.println("这是父类的构造方法");
}
}
class Zi extends Fu {
{
System.out.println("这是子类的匿名:子类的非静态属性");
}
static {
System.out.println("这是子类的静态方法");
}
public Zi() {
//super();//一般都是省略的
System.out.println("这是子类的构造方法");
}
}
public class Main{
public static void main(String[] args) throws ClassNotFoundException {
Zi zi = new Zi();
}
}
这是父类的静态方法 这是子类的静态方法 这是父类的匿名代码块:父类的非静态属性 这是父类的构造方法 这是子类的匿名:子类的非静态属性 这是子类的构造方法
忘记原出处了,侵删 ~