java 父类、子类各方法执行的顺序
java中父类和子类代码块的执行顺序
定义一个父类
package test1;
public class A {
static {
System.out.println("父类的静态代码");
}
public A() {
System.out.println("父类的构造函数代码");
}
{
System.out.println("父类的非静态构造方法");
}
}
定义一个子类
package test1;
public class B extends A{
static{
System.out.println("B的静态代码块");
}
{
System.out.println("B的非静态构造方法");
}
public B() {
System.out.println("B的构造函数");
}
public static void main(String[] args) {
B b = new B();
}
}
执行结果:
1 父类的静态代码
2 B的静态代码块
3 父类的非静态构造方法
4 父类的构造函数代码
5 B的非静态构造方法
6 B的构造函数