//父类代码
public class Father {
private int i=test();//通过方法的返回值对变量进行初始化
private static int j=method();//通过方法的返回值对变量进行初始化
static{//静态代码块
System.out.println("父类静态代码块1");
}
{//非静态代码块
System.out.println("父类非静态代码块2");
}
Father(){//构造器
System.out.println("父类构造器3");
}
public int test(){//普通方法
System.out.println("父类普通方法4");
return 1;
}
public static int method(){//静态方法
System.out.println("父类静态方法5");
return 2;
}
}
//子类代码,继承了Father类
public class Son extends Father {
private int i=test();//通过方法的返回值对变量进行初始化
private static int j=method();//通过方法的返回值对变量进行初始化
static{//静态代码块
System.out.println("子类静态代码块6");
}
{//非静态代码块
System.out.println("子类非静态代码块7");
}
Son(){//构造器
System.out.println("子类构造器8");
}
public int test(){//普通方法
System.out.println("子类普通方法9");
return 1;
}
public static int method(){//静态方法
System.out.println("子类静态方法10");
return 2;
}
public static void main(String[] args){
Son s1 = new Son();
Son s2 = new Son();
}
}
运行结果
父类静态方法5
父类静态代码块1
子类静态方法10
子类静态代码块6
子类普通方法9
父类非静态代码块2
父类构造器3
子类普通方法9
子类非静态代码块7
子类构造器8
子类普通方法9
父类非静态代码块2
父类构造器3
子类普通方法9
子类非静态代码块7
子类构造器8 0 0