[英]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.