本帖最后由 songkaihua 于 2014-12-21 21:45 编辑
class Fu
{
public int num = 10;
public Fu()
{
System.out.println("fu");
}
}
class Zi extends Fu
{
public int num = 20;
public Zi()
{
System.out.println("zi");
}
public void show()
{
int num = 30;
System.out.println(num);
System.out.println(this.num);
System.out.println(super.num);
}
}
class Test
{
public static void main(String[] args)
{
Zi z = new Zi();
z.show();
}
}
这是我们的作业题,我不知道它的执行顺序,如果我按老师的讲的理解答案是 fu zi 30 20 0,但我运行结果是fu zi 30 20 10,不应是把父类中的num初始化了吗?上课没听懂……郁闷!这个题不是说子类的初始化过程中,首先回去执行父类的初始化动作?不知道大神懂我的意思不?
|
|