Я только начал изучать объектно-ориентированное программирование сначала из книги java. В нем говорилось, что полиморфизм позволяет мне создать массив типа суперкласса, а затем иметь все подклассы в качестве элементов массива. Но когда я попытался написать кодиспользуя те же принципы, что он допустил ошибку, сказав error: cannot find symbol
Я сделал классы суперклассом животного класса, и класс собаки расширил класс животного, имея собственный метод выборки, но когда я ссылался на переменную собаки как животное, он не работал здесьэто код
Класс животных
public class animal{
String family;
String name;
public void eat()
{
System.out.println("Ghap Ghap");
}
public void roam()
{
System.out.println("paw paw");
}
}
Класс собаки
public class dog extends animal{
public void fetch(){
System.out.println("Auoooooooo");
}
}
Класс тестера
public class tester{
public static void main(String args[]){
animal doggie = new dog();
doggie.fetch();
doggie.eat();
doggie.roam();
}
}
Ошибка
tester.java:4: error: cannot find symbol
doggie.fetch();
^
symbol: method fetch()
location: variable doggie of type animal
1 error