温馨提示×

java getdeclaredfields能获取父类字段吗

小樊
83
2024-11-26 14:47:21
栏目: 编程语言

是的,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()方法来获取父类的所有声明字段。最后,我们遍历并打印了这些字段的名称。

0