夏天到了

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

           

          如何更改私有成員?

          如何更改私有成員?
          假設類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 蘑菇 閱讀(710) 評論(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)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 秦皇岛市| 土默特右旗| 剑阁县| 淄博市| 奉化市| 麟游县| 长兴县| 永昌县| 固安县| 莱州市| 清流县| 汕头市| 锦屏县| 中江县| 四子王旗| 海城市| 台东市| 芮城县| 固原市| 大足县| 高邮市| 滨海县| 洛浦县| 贡嘎县| 桐柏县| 宣化县| 扶沟县| 大埔区| 邳州市| 八宿县| 扎赉特旗| 锦屏县| 福海县| 安阳县| 平果县| 仪陇县| 留坝县| 木兰县| 内丘县| 深泽县| 榆中县|