夏天到了

          雨季過后,是蘑菇生長的季節

           

          如何更改私有成員?

          如何更改私有成員?
          假設類Summer定義如下:
          public class Summer{
             private int number = 0;
          }

          測試如下:
          Summer example = new Summer.newInstance();
          Field f = example .getClass().getDeclaredField("number");
          f.setAccessible(true);
          f.set(example, 2);
          f.setAccessible(false);

          結果:私有成員的值變為2

          posted on 2005-09-26 12:19 蘑菇 閱讀(707) 評論(3)  編輯  收藏 所屬分類: 已解決之問題代碼實現--JAVA

          評論

          # re: 如何更改私有成員? 2005-09-27 16:27 小義

          Class ... can not access a member of class Summer with modifiers "private"

          這篇文章不對,看來作者沒有做實驗吧  回復  更多評論   

          # re: 如何更改私有成員? 2005-09-27 16:32 小義

          哦,你是對的,是可以更改的,剛才我的程序沒敲好。嘿嘿
          謝謝作者。
          不過這樣一來,那Java的數據隱藏不就失效了,private的也可以操作,太危險了吧  回復  更多評論   

          # re: 如何更改私有成員? 2005-09-27 16:45 蘑菇

          沒有什么會是絕對安全的。
          訪問私有成員用的并不多,我這次也是做測試才涉及到的。真正用處是程序的動態設計。具體內容可以參見:
          http://www.aygfsteel.com/oceanqtt/articles/14070.html  回復  更多評論   

          導航

          統計

          公告

          其實生活很簡單

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 随州市| 漳浦县| 女性| 军事| 长汀县| 修武县| 米易县| 吴堡县| 威远县| 海口市| 营山县| 罗山县| 沈阳市| 南木林县| 佛冈县| 上思县| 永吉县| 安多县| 阜新市| 旺苍县| 唐海县| 中方县| 奇台县| 仪征市| 新干县| 特克斯县| 巴林左旗| 兴文县| 台山市| 阿图什市| 安平县| 镇宁| 贵德县| 新和县| 仁怀市| 红安县| 余干县| 新昌县| 塘沽区| 杂多县| 石首市|