本帖最后由 張帅 于 2013-9-24 07:38 编辑
class Super
{
int i =0;
public Super(String a)
{
System.out.println("A");
i = 1;
}
public Super()
{
System.out.println("B");
i+=2;
}
}
class Demo extends Super
{
public Demo(String a)
{
System.out.println("C");
i = 5;
}
public static void main(String[] args)
{
i = 4;
Super d = new Demo(''A");
System.out.println(d.i);
}
}
这道题 先读主函数 Super d = new Demo(''A")即父类的引用指向子类对象;,读public Demo(String a)这个构造函数,输出C,
然后读System.out.println(d.i);,i = 5; 打印结果为 C 5,但是答案为B C 5,解释下B怎么打印出来的?
|