栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java反射获取本类和父类所有字段

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java反射获取本类和父类所有字段

说明:

1、getFields():获得某个类的所有的公共(public)的字段,包括父类中的字段。
2、getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。
3、同样类似的还有getConstructors()和getDeclaredConstructors()、getMethods()和getDeclaredMethods(),这两者分别表示获取某个类的方法、构造函数。

获取父类所有字段:
要获取到当前类以及父类的所有属性,怎么办?
 

package com.hkl.modules.utils;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;


public class AnnotationUtil {

    
    public static Field[] getAllFields(Class clazz) {
        List fieldList = new ArrayList<>();
        while (clazz != null){
            fieldList.addAll(new ArrayList<>(Arrays.asList(clazz.getDeclaredFields())));
            clazz = clazz.getSuperclass();
        }
        Field[] fields = new Field[fieldList.size()];
        return fieldList.toArray(fields);
    }

}

测试:

    public static void main(String[] args) {
        DtoClass dtoClass = new DtoClass();

        Field[] allFields = AnnotationUtil.getAllFields(dtoClass.getClass());
        System.out.println("------------------------------------------");
        for (Field allField : allFields) {
            System.out.println("allField = " + allField.getName());
        }
    }

打印出包括父类的全部字段属性

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/275182.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号