夏天到了

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

           

          如何更改私有成員?

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

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 吉安市| 东港市| 临泉县| 仁化县| 芦溪县| 乌拉特前旗| 凤城市| 广昌县| 怀化市| 乌兰察布市| 儋州市| 镇巴县| 顺义区| 英超| 察雅县| 正安县| 宾阳县| 花垣县| 津市市| 彭泽县| 五台县| 皋兰县| 高密市| 宝清县| SHOW| 九龙县| 明溪县| 马公市| 柳州市| 沁源县| 衡阳县| 板桥市| 怀集县| 若羌县| 遂平县| 冷水江市| 察哈| 陇西县| 历史| 通道| 崇信县|