Java对象
class A{
{show(0);}
int x=1;
{show(1);}
A(){x=2;}
void show(int label){}
}
class B extends A{
{show(2);}
int y=1;
{show(3);}
B(){y=2;}
void show(int label){
System.out.println(label+": x="+x+" y="+y);
}
}
public class C{
public static void main(String[] args){
new B()。show(4);
}
}
输出:
=================================================
0: x=0 y=0
1: x=1 y=0
2: x=2 y=0
3: x=2 y=1
4: x=2 y=2
说明了初始化的顺序:
0. 为基类和子类的成员分配存储空间
1. 基类成员赋初值
2. 基类构造函数
3. 子类成员赋初值
4. 子类构造函数
更多信息请查看IT技术专栏