1. 程式人生 > >java 反射得到屬性與屬性值

java 反射得到屬性與屬性值

att ble .com ssi 9.png acc ttr cep 使用

反射可以破壞所有的封裝性,比如這次通過反射得到的屬性與屬性值;

 /**
     * 得到屬性值
     * @param obj
     */
    public static void readAttributeValue(Object obj){
            String nameVlues="";
            //得到class
            Class cls = obj.getClass();
            //得到所有屬性
            Field[] fields = cls.getDeclaredFields();
           
for (int i=0;i<fields.length;i++){//遍歷 try { //得到屬性 Field field = fields[i]; //打開私有訪問 field.setAccessible(true); //獲取屬性 String name = field.getName(); //獲取屬性值,使用Obj保存
Object value = field.get(obj); //一個個賦值 nameVlues += field.getName()+":"+value+","; } catch (IllegalAccessException e) { e.printStackTrace(); } } //不要最有一個逗號"," String result= nameVlues.substring(0
,nameVlues.length()-1); System.out.println(result); }

我們再來看看輸出的結果吧:

技術分享圖片

數據是提前通過set的方法賦值的

java 反射得到屬性與屬性值