JAVA反射機(jī)制使用注意事項(xiàng)
在應(yīng)用java的反射機(jī)制時(shí),要注意:
1)java.lang.reflect;
2)要用Field類獲得某個(gè)Class 中的私有或受保護(hù)的字段時(shí),必須調(diào)用? cl.getDeclaredField();
3)Field,Method,Constructor都是Accessible類的子類,都可以直接在前者中的? 任一個(gè)類中調(diào)用setAccessible(boolean);即對(duì)Field的一個(gè)實(shí)例對(duì)象設(shè)置權(quán)限? ,能訪問到當(dāng)前字段的值!
?Employee harry = new Employee("Harry Hacker",3500,new Date(10,1,1989));
?Class cl = harry.getClass();
?Field f = cl.getDeclaredField("name");//如果字段name是public,用getField也可行!
?f.setAccessible(true);//更改訪問權(quán)限!
?Object v = f.get(harry);
posted on 2006-11-15 21:36 Timothy 閱讀(643) 評(píng)論(0) 編輯 收藏 所屬分類: JAVA大本營(yíng)