Я пытаюсь изучить Java. Простите меня, если мои понятия не ясны или очень неправильны. Я пытаюсь создать наследование и применение полиморфизма.не может статически ссылаться на нестатические java
Я создал массив животных [5]. Я пытаюсь добавить refrences собаки, cat к массиву. Я хочу, чтобы держать Животные [0] = zooDog
Я получаю ошибку, что не может сделать статическую ссылку на нестатической
У меня есть создать AnimalstestDrivve класс
package animals;
public class AnimalstestDrive {
public Animals[] myZoo = new Animals[5];
int zooCounter = 0;
public static void main(String[] args) {
//Set animals array
Dog zooDog = new Dog();
addAnimals(zooDog);
Cat zooCat = new Cat();
addAnimals(zooCat);
}
public void addAnimals(Animals a){
if (zooCounter > 5){
myZoo[zooCounter] = a;
zooCounter++;
}
else
System.out.println("Zoo is full");
}
}
здесь мой Animals класс
package animals;
public abstract class Animals {
private String Name;
private int Size; //Size on the scale 1 to 10
public void eatFood(){
System.out.println("I am eating food");
}
public void sleep(){
System.out.println("I am sleeping now");
}
abstract public void makeNoises();
}
Простые собаки, кошки класса
package animals;
public class Dog extends Animals {
public void makeNoises(){
System.out.println("Bow! bow!");
}
}
Плохая идея назвать класс «Животные», если это всего лишь одно животное. Должно быть «Животное [] животных». –
Прошу [* искать сообщения об ошибках *] (http://stackoverflow.com/search?q=cannot+make+a+static+reference+to+the+non-static+java), прежде чем задавать вопрос. На эту точную проблему достаточно ответов на SO. – user2864740
Возможный дубликат [Невозможно сделать статическую ссылку на нестатический метод] (http://stackoverflow.com/questions/4969171/cannot-make-static-reference-to-non-static-method) – user2864740