Я все еще играю с Java, и у меня нет опыта .... Хорошо, мой вопрос: возможно ли динамически получить значение полей класса?Вот пример: «My_Zoo» - это мой класс, который может иметь разные поля «животное», т.е.dog1, dog2, chitchen1, ...
Но я хочу получить их значение динамически (например, общее поле 'Number_of_arms').
Итак, для класса My_Zoo у меня есть только одна переменная поляи из него я хочу получить значение Number_of_arms.
Причина, по которой я использую абстрактный класс, заключается в том, что я вынужден сказать системе: ' Поле Field является' animal 'затем введите значение параметра Number_of_arms '
Возможно ли это?
public class My_Zoo{
public abstract class Animal{
String name;
String color;
int Number_of_arms;
public String getName(){
return name;
}
public int getNumber_of_arms(){
return Number_of_arms;
}
}
public class Dog extends Animal{
public Dog(String name, String color){
this.name = name;
this.color = color;
this.Number_of_arms = 4;
}
}
public class Chicken extends Animal{
public Chicken(String name, String color){
this.name = name;
this.color = color;
this.Number_of_arms = 2;
}
}
Dog dog_Charlie = new Dog("Charlie", "black");
Dog dog_Bobo = new Dog("Bobo", "brawn");
Chicken chicken_Princess = new Chicken("Princess", "brawn");
public My_Zoo(){
Field[] fields = this.getClass().getDeclaredFields();
int Number_of_arms;
for (Field field: fields){
??? Number_of_arms = field...Number_of_arms ???
}
}
}
В коде отсутствует строка ??? Number_of_arms = field...Number_of_arms ???
.Что я должен использовать?
Спасибо