测试结果
父类静态代码块
子类静态代码块
父类成员变量初始化parent common block test
父类有参构造方法ppp
子类成员变量初始化son common block test
子类有参构造方法ppp sss
静态代码块只能生成一次:
父类成员变量初始化parent common block test
父类有参构造方法ppp
子类成员变量初始化son common block test
子类有参构造方法ppp sss
Parent类
public class Parent {
private String p = "parent common block test ";
{
System.out.println("父类成员初始化"+p);
}
static{
System.out.println("父类静态代码块");
}
public Parent(String p) {
super();
this.p = p;
System.out.println("父类有参构造方法"+p);
}
// public Parent() {
// super();
// System.out.println("父类无参构造方法");
// }
}
Son类
public class Son extends Parent{
private String s = "son common block test ";
{
System.out.println("子类成员初始化"+s);
}
static{
System.out.println("子类静态代码块");
}
// public Son() {
// super();
// System.out.println("子类无参构造方法");
// }
public Son(String p, String s) {
super(p);
this.s = s;
System.out.println("子类有参构造方法"+p+"\0"+s);
}
public static void main(String[] args) {
Son son = new Son("ppp", "sss");
System.out.println("\n静态代码块只能生成一次");
Son son2 = new Son("ppp","sss");
}
}