Добрый день изучаю java. Подскажите почему не могу напрямую получить объект из массива по индексу?
public class Animal {
private int id;
private String name;
public Animal(int id, String name){
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class StorageAnimal {
public Animal[] storage = new Animal[3];
public void save(Animal animal, int index){
storage[index] = animal;
}
public Animal get(int index){
return storage[index];
}
}
public class MainAnimal {
public static void main(String[] args) {
Animal Dog = new Animal(1, "dick");
Animal Cat = new Animal(2, "musya");
Animal Carrot = new Animal(11, "katya");
StorageAnimal listAnimal = new StorageAnimal();
listAnimal.save(Dog, 0);
listAnimal.save(Cat, 1);
listAnimal.save(Carrot, 2);
System.out.println("Это животное по имени:" + listAnimal.get(0).getName() + " и с id:"+listAnimal.get(0).getId());
System.out.println("Это животное по имени:" + listAnimal[0].getName() + " и с id:"+ listAnimal[0].getId());
}
}
В первом выводе сделал через get и это все работает, но почему нельзя сделать как во втором выводе?
Ведь мы знаем наш массив и знаем что есть в нем и какого типа данные.