执行顺序记住两个优先:
静态优先,父类优先!
代码:父类A
public class A {
//静态代码块
static{
System.out.println("父类的静态代码块");
}
//父类的构造方法
public A(){
System.out.println("父类的构造方法");
}
}
代码:子类B
public class B extends A {
//子类的静态代码块
static{
System.out.println("子类的静态代码块");
}
//子类的构造方法
public B(){
System.out.println("子类的构造方法");
}
//子类的普通方法
public void test(){
System.out.println("子类的普通方法");
}
//main方法
public static void main(String[] args) {
B b=new B();
b.test();
System.out.println("子类的main方法");
}
}
MyEclipse运行结果: