父类:
public class Animal {
int age=10;
String name;
public void eat(){
System.out.println("动物吃饭");
}
public Animal(){
System.out.println("动物类初始化");
}
}
子类:
public class Dog extends Animal {
public void print(){
System.out.println(super.age);
}
public void printEat(){
super.eat();
}
public void eat(){
System.out.println("狗吃屎");
}
}
测试类:
public class Initial {
public static void main(String[] args) {
Dog d=new Dog();
d.age=50;
d.print();
d.eat();
d.printEat();
}
}
打印结果:
动物类初始化
50
动物吃饭
动物吃饭
问题:
print方法结果为啥是50呢?print方法是打印父类Anmial里面的age值的啊,不应该是10的么?如果要是注释掉测试类里面的d.age=50,就会打印10了。这是为什么呢?实在是不明白啊,哪位大佬解释一下呀???先谢谢谢谢啦!!!
幕附
相关分类