1、代码
class C{
C() {
System.out.println("这是C父类的无参构造函数");
}
}
class A {
static int a;//类变量
String name;
int id;
//静态代码块
static {
C c = new C();
System.out.println("这是父类的静态代码块" + a);
}
A() {
System.out.println("这是父类的无参构造函数");
}
A(String name) {
System.out.println("这是父类的name" + name);
}
//构造代码块
{
id = 11;
System.out.println("这是父类的构造代码块id:" + id);
}
}
class B extends A {
String name;
static int b;
static {
b = 12;
System.out.println("这是子类的静态代码块" + b);
}
B(String name) {
super();
this.name = name;
System.out.println("这是子类的name:" + name);
}
}
public class Test666 {
public static void main(String[] args) {
A bb = new B("GG");
}
}
2、执行结果
这是C父类的无参构造函数
这是父类的静态代码块0
这是子类的静态代码块12
这是父类的构造代码块id:11
这是父类的无参构造函数
这是子类的name:GG