Вы не позволяли своим животным говорить!
вы должны сделать так:
Cat.java:
public class Cat extends Animal {
// protected String sound = "meow";
public Cat(){
this.sound = "cat";
}
}
Dog.java:
public class Dog extends Animal {
// protected String sound = "woof";
public Dog(){
this.sound = "dog";
}
}
только потому, что в Cat или Dog есть два члена, которые "наследуют", и тот, который унаследован от Animal
скрыт без значения (поэтому он печатает ноль), другой является особенным для Cat или Dog, которому присваивается значение.
Таким образом, вы должны использовать указатель 'this', чтобы процитировать оригинальный элемент 'sound'.