一个困惑我几天才解决的看似简单的问题,明白了对多态理解更深了一点
父类:
public class Animal {
String name="动物";
}
子类:
public class Dog extends Animal{
String name="外狗";
public Dog(){
name="内狗";
}
}
测试类:
public class TestAnimal {
public static void main(String[] args) {
Animal dog=new Dog();
System.out.println(dog.name);
}
}
问题:
测试类结果为:
动物
但是当我注释掉 子类String name="外狗";这行代码
测试类结果为:
内狗
为什么?