class A
{
int x,y;
A()
{
x=100;
y=200;
}
A(int x,int y)
{
this.x=x;
this.y=y;
}
}
class B extends A
{
int z;
B(int x,int y)
{
super(x,y);
z=300;
}
B()
{
z=800;
}
public void f()
{
System.out.printf("x=%d,y=%d,z=%d\n",x,y,z);
}
}
class Example
{
public static void main(String arg[])
{
B b1=new B(10,20);
b1.f();
B b2=new B();
b2.f();
}
}
输出结果是x=10,y=20,z=300
x=100,y=200,z=800
第二组结果没有问题 想问下第一组结果为什么z的数值是300,我的理解是在第一次调用b1.f()的时候并没有经过z=300的语句 而是直接调用与第二组相同的z值 不知道哪里理解有误 请高手解答下 谢谢..
30秒到达战场
守着星空守着你