1
我有許多從相同基類型派生的類。基本類型包含子類共有的所有成員。當子類被實例化時,我需要通過反射來訪問其成員。我需要訪問每個子類的所有成員,但我需要將存在於基類中的那些成員與子類中存在的成員隔離。例如:在java中使用反射訪問子類和超類的屬性
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());
}
當我使用反射來揭露載於「子類」的一個實例的屬性我將如何區分「名字」和「姓氏'從'property1'和'property2'?
我不知道如何實現這一點。有人可以提供一個解決方案或可能看一個地方?謝謝! Vivian
有沒有一種方法只返回基類的成員? – Pheepster
'class.getSuperclass()。getDeclaredFields()',不要忘記檢查superClass是否爲空 – hoaz