Как сделать метод который может выводить данные из суперкласса и подкласса
Есть суперкласс Animal и подкласс Cat. Также есть класс ветеринар с методом вывода информации о животном. Как сделать этот метод чтобы он мог выводить данные из суперкласса и подкласса? Заранее спасибо!
public class Animal {
String location;
String food;
public void makeNoise(){
System.out.println("rr");
}
public void eat(){
System.out.println("hrr");
}
public void sleep(){
System.out.println("zzz");
}
}
public class Cat extends Animal {
String location="hz";
String food="viskas";
public void makeNoise(){
System.out.println("may");
}
public void eat(){
System.out.println("trr");
}
}
public class Vet {
***public static void treatAnimal(Animal animal){
System.out.println(animal.food+" "+animal.location);***
}
}
public class Main {
public static void main(String[] args) {
Animal[] a=new Animal [1];
a[0]=new Cat();
for (int i=0; i<a.length;i++){
Vet.treatAnimal( a[0]);
}
}}
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
public class Animal {
public String getLocation() { return null; };
public String getFood() { return null; };
public void makeNoise() { System.out.println("rr"); }
public void eat() { System.out.println("hrr"); }
public void sleep() { System.out.println("zzz"); }
}
public class Cat extends Animal {
public String getLocation() { return "Greenland"; }
public String getFood() { return "Viskas"; }
public void makeNoise() { System.out.println("may"); }
public void eat() { System.out.println("trr"); }
}
public class Vet {
public static void treatAnimal(Animal animal) {
System.out.println(animal.getFood() + " " + animal.getLocation());
}
}