[英]Accessing properties of subclasses and superclasses in java with reflection
我有许多派生自相同基本类型的类。 基本类型包含子类共有的所有成员。 当实例化子类时,我需要通过反射来访问其成员。 我需要访问每个子类的所有成员,但是我需要将基类中存在的那些成员与子类中存在的那些成员隔离。 例如:
public abstract class mainBaseClass{
public String firstname;
public String lastname;
}
public class subClass extends mainBaseClass{
public String property1;
public String property2;
}
我正在按以下方式访问成员:
Field[] fields = objectName.getClass().getFields();
for(Field f : fields){
Log.d("FIELD NAME", f.getName());
}
当我使用反射来暴露“ subClass”实例中包含的属性时,如何区分“ firstname”和“ lastname”与“ property1”和“ property2”?
我不确定如何实现这一点。 有人可以提供解决方案还是一个寻找地方的地方? 谢谢! 维维安
请改用Class#getDeclaredFields()
。 Java文档 :
返回一个Field
对象数组,该数组反映由该Class
对象表示的类或接口声明的所有字段。 这包括公共,受保护,默认(程序包)访问和私有字段, 但不包括继承的字段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.