夏天到了

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

           

          如何更改私有成員?

          如何更改私有成員?
          假設類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)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 方山县| 焦作市| 平昌县| 沽源县| 扶风县| 奉新县| 虎林市| 四会市| 横山县| 保德县| 凤城市| 会同县| 九寨沟县| 阿拉善右旗| 平果县| 开远市| 利津县| 阜南县| 齐齐哈尔市| 瓦房店市| 塘沽区| 万山特区| 连云港市| 长治县| 夏河县| 广州市| 东辽县| 天柱县| 锦州市| 新蔡县| 布尔津县| 嘉鱼县| 扎囊县| 大化| 诸暨市| 都匀市| 北辰区| 晋城| 阳曲县| 呼和浩特市| 唐河县|