Adquirida por el campo de clase de entidad de reflexión (que contiene la clase padre)

En primer lugar crear tres clases de entidad, relaciones con el fin de heredar

@Data
public class GrandFather {
    //私有
    private String grandFatherName;
    //受保护的
    protected String grandFatherAge;
    //公共的
    public String grandFatherSex;
    //无修饰
    String grandFatherAddress;
}
@Data
public class Father extends GrandFather{
    //私有
    private String fatherName;
    //受保护的
    protected String fatherAge;
    //公共的
    public String fatherSex;
    //无修饰
    String fatherAddress;
}
@Data
public class Son extends Father{
    //私有
    private String sonName;
    //受保护的
    protected String sonAge;
    //公共的
    public String sonSex;
    //无修饰
    String sonAddress;
}

getDeclaredFields () Devuelve todos los atributos de la clase actual no contiene el atributo de herencia de clases

Field[] fields = Son.class.getDeclaredFields();
private java.lang.String com.qingnian.fanshe.domain.Son.sonName
protected java.lang.String com.qingnian.fanshe.domain.Son.sonAge
public java.lang.String com.qingnian.fanshe.domain.Son.sonSex
java.lang.String com.qingnian.fanshe.domain.Son.sonAddress

getFields () pueden obtener la clase actual, y hereda toda la propiedad pública de la clase padre, el padre de la clase padre

Field[] fields = Son.class.getFields();
public java.lang.String com.qingnian.fanshe.domain.Son.sonSex
public java.lang.String com.qingnian.fanshe.domain.Father.fatherSex
public java.lang.String com.qingnian.fanshe.domain.GrandFather.grandFatherSex

Método para la obtención de la clase hereda todos los atributos de todo:

private static List<Field> getAllField(Object model) {
        Class clazz = model.getClass();
        List<Field> fields = new ArrayList<>();
        //只要父类存在,就获取其类的属性到集合
        while (clazz != null) {
            fields.addAll(new ArrayList<>(Arrays.asList(clazz.getDeclaredFields())));
            //获取其父类
            clazz = clazz.getSuperclass();
        }
        return fields;
    }
private java.lang.String com.qingnian.fanshe.domain.Son.sonName
protected java.lang.String com.qingnian.fanshe.domain.Son.sonAge
public java.lang.String com.qingnian.fanshe.domain.Son.sonSex
java.lang.String com.qingnian.fanshe.domain.Son.sonAddress
private java.lang.String com.qingnian.fanshe.domain.Father.fatherName
protected java.lang.String com.qingnian.fanshe.domain.Father.fatherAge
public java.lang.String com.qingnian.fanshe.domain.Father.fatherSex
java.lang.String com.qingnian.fanshe.domain.Father.fatherAddress
private java.lang.String com.qingnian.fanshe.domain.GrandFather.grandFatherName
protected java.lang.String com.qingnian.fanshe.domain.GrandFather.grandFatherAge
public java.lang.String com.qingnian.fanshe.domain.GrandFather.grandFatherSex
java.lang.String com.qingnian.fanshe.domain.GrandFather.grandFatherAddress
Publicado 27 artículos originales · ganado elogios 1 · visitas 848

Supongo que te gusta

Origin blog.csdn.net/weixin_44971379/article/details/104910542
Recomendado
Clasificación