java反射获取字段,包括父级的字段,递归获取方法

Java有四种访问权限(public > protected > default(包访问权限) > private )。
Class.getFieldn能获取该类public字段
通过Class.getDeclaredField能获取该类所有字段,但是无法获取父类Field,
写个方法记录一下,方便后续使用备忘。
递归获取当前类获取不到就找父类获取,没有就返回null。

java实现:

    public static Field getField(Class<?> clazz, String filedName) {
    
    
        try {
    
    
            if(clazz != null) {
    
    
                Field declaredField = clazz.getDeclaredField(filedName);
                return declaredField;
            }
        } catch (NoSuchFieldException e) {
    
    
            return getField(clazz.getSuperclass(), filedName);
        }
        return null;
    }

猜你喜欢

转载自blog.csdn.net/qq_35487047/article/details/129045626