是的,getDeclaredFields()
方法可以獲取父類的字段。getDeclaredFields()
是Java反射API中的一個方法,它用于獲取當前類中聲明的所有字段(包括私有、受保護、默認訪問和公共字段,但不包括繼承的字段)。
要獲取父類的字段,你需要先獲取父類的Class
對象,然后調用getDeclaredFields()
方法。這里有一個簡單的例子:
import java.lang.reflect.Field;
class Parent {
public String parentField = "Parent Field";
}
class Child extends Parent {
public String childField = "Child Field";
}
public class Main {
public static void main(String[] args) throws NoSuchFieldException {
Class<?> parentClass = Parent.class;
Field[] parentFields = parentClass.getDeclaredFields();
for (Field field : parentFields) {
System.out.println("Parent field: " + field.getName());
}
}
}
在這個例子中,我們首先獲取了Parent
類的Class
對象,然后調用了getDeclaredFields()
方法來獲取父類的所有聲明字段。最后,我們遍歷并打印了這些字段的名稱。