1.考虑安全访问范围内的属性,没有权限访问到的属性不读取
-    private String getFieldValueByFieldName(String fieldName, Object object) {  
-        try {  
-            Field field = object.getClass().getField(fieldName);  
-            
-              
-            return  (String)field.get(object);  
-        } catch (Exception e) {  
-            
-            return null;  
-        }   
-    }  
 
2.不考虑从祖先类继承的属性,只获取当前类属性,包括四类访问权限,private,protect,default,public
-   private String getFieldValueByFieldName(String fieldName, Object object) {  
-       try {  
-           Field field = object.getClass().getDeclaredField(fieldName);  
-           
-           field.setAccessible(true);  
-           return  (String)field.get(object);  
-       } catch (Exception e) {  
-           
-           return null;  
-       }   
-   }  
 
 
 3.考虑父类继承过来的属性,包括四类访问权限,private,protect,default,public
 
- private Field getFieldByClasss(String fieldName, Object object) {  
-     Field field = null;  
-     Class<?> clazz = object.getClass();  
-   
-     for (; clazz != Object.class; clazz = clazz.getSuperclass()) {  
-         try {  
-             field = clazz.getDeclaredField(fieldName);  
-         } catch (Exception e) {  
-             
-             
-               
-         }  
-     }  
-     return field;  
-   
- }  
 java 反射机制--根据属性名获取属性值
原文:https://www.cnblogs.com/zhizhijiao/p/9052136.html