我的java项目中有一个名为abstract
的{{1}}类。我从ClassA
延伸ClassB
。现在我想得到ClassA
的所有字段。当我使用ClassB
时,此方法仅获得ClassB.getDelaredFields()
个字段。我可以使用classB
但是当我有几个等级的clasess时,我无法使用它。我希望得到所有的领域。怎么样?
答案 0 :(得分:0)
您可以使用getFields(),例如:
public class Generic {
public class SuperA {
public int f0;
}
public class A extends SuperA{
public int f;
}
public class B extends A {
}
public static void main(String[] args) {
Field[] fields = B.class.getFields();
for(Field f: fields) {
System.out.println(f.getName());
}
}
}
答案 1 :(得分:0)
公共变量(来自类和继承):
Field[] fields = yourclass.getFields();
每个变量都是非继承的,公共的和私有的:
Field[] fields2 = yourclass.getDeclaredFields();
获取继承的,受保护的(你可以用它们做什么?),遍历超类
yourclass.getSuperclass()