1 回答
TA贡献8条经验 获得超3个赞
因为你有这个dog.age=9;这句代码相当于是给父类Animal中的age变量重新赋值为9了,所以输出才为9.
如果在Dog类里加上 int age,你这就相当于是没有给父类Animal中的age变量赋新值,所以为1.
/**
*下述代码输出结果为1(父类Animal中age初始化值为1)
*/
public class Dog extends Animal {
public void method(){
System.out.println(super.age);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int age=9;
Dog dog=new Dog();
dog.method();
}
}
/**
*下述代码输出结果为9(父类Animal中age初始化值为1)
*/
public class Dog extends Animal {
public void method(){
System.out.println(super.age);
}
public static void main(String[] args) {
// int age=9;
Dog dog=new Dog();
dog.age=9; //给父类Animal中age赋新值
dog.method();
}
}
添加回答
举报