我还在玩 Java,但我还没有经验……好吧,我的问题是:是否有可能动态地获取一个类的字段的值?这里有一个例子:“My_Zoo”是我的班级,它可以有不同的领域“动物”,即。狗1,狗2,鸡1,...
但我想动态获取它们的值(即公共字段'Number_of_arms')。
因此,对于 My_Zoo 类,我只有一个 Field 变量,我想从中获取值“Number_of_arms”。
我使用抽象类的原因是我回家对系统说:' Field字段是'动物'类型,然后给我参数'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 ???
缺少该行。我必须使用什么?
谢谢