<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 262,  comments - 221,  trackbacks - 0
    【1】Filed類簡介
    Java反射技術的基本應用之一就是在運行時動態地訪問、修改變量的值。要動態地訪問、修改變量,首先要取得變量本身。步驟如下:
      1.獲取Class對象
      2.調用Class對象的getField(String)方法獲取指定的變量
     
    在獲得Filed對象之后,就可以在運行時動態地操縱變量了。Filed類里面最主要的方法有兩種:
      1.獲取變量方法:可以使用get(object)或getInt(Object)之類的方法
      2.設置變量方法:可以使用set(object, object)或setInt(Object,int)之類的方法
     
    這里我們要特別注意的set方法,它的方法簽名是:void set(Object obj, Object value)。注意它的第二個參數是Object類型的,也就是說假如方法的參數類型是原子類型的,在調用之前必須先轉換成對應的封裝類。比如:int->Integer。在JDK內部會自動將其解壓成原子類型。
     
    從JDK1.5版本開始,增加了"自動裝箱"和"自動開箱"的功能,所以我們看到下面的例子中為變量xf和yf賦值的語句,使用的不是封裝類型,而是元素類型數據。(見行43、48),在JDK1.4版本中這樣是不被允許的。建議不要這樣做以避免出現類型安全的問題。

    【2】示例代碼
    public static void main(String args[]) throws NoSuchFieldException,
                IllegalAccessException {

            
    // 創建對象
            RefFiled obj = new RefFiled();

            
    // 獲取類的成員變量
            Class<?> c = RefFiled.class;
            Field xf 
    = c.getField("x");
            Field yf 
    = c.getField("y");

            
    // 變更成員x值,注意第二個參數會被自動包裝成封裝類型
            System.out.println("變更前x=" + xf.get(obj));
            xf.set(obj, 1.1);

            System.out.println(
    "變更后x=" + xf.get(obj));

            
    // 變更成員y值,注意第二個參數會被自動包裝成封裝類型
            System.out.println("變更前y=" + yf.get(obj));
            yf.set(obj, 2.1);

            System.out.println(
    "變更后y=" + yf.get(obj));
        }


    -------------------------------------------------------------
    生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
    posted on 2008-09-04 15:02 Paul Lin 閱讀(405) 評論(0)  編輯  收藏 所屬分類: J2SE
    <2008年9月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

    常用鏈接

    留言簿(21)

    隨筆分類

    隨筆檔案

    BlogJava熱點博客

    好友博客

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日韩电影免费在线观看网站| 亚洲av无码av制服另类专区| 亚洲第一综合天堂另类专 | 4hu四虎最新免费地址| 久久夜色精品国产亚洲AV动态图| 免费在线黄色电影| 亚洲av无码国产精品色午夜字幕| 两个人的视频www免费| 亚洲AV午夜成人片| 99久9在线|免费| 亚洲精品免费在线| 91免费资源网站入口| 亚洲jizzjizz少妇| 成人亚洲综合天堂| 最新亚洲成av人免费看| 久久久久亚洲AV无码麻豆| 四虎1515hh永久久免费| 亚洲av无码专区国产不乱码 | 精品亚洲成α人无码成α在线观看 | a毛片免费全部播放完整成| 亚洲av鲁丝一区二区三区| 免费观看国产网址你懂的| 亚洲乱色伦图片区小说| 亚洲国产av无码精品| a毛片免费全部播放完整成| 亚洲国产成人精品青青草原| 成年女人男人免费视频播放| 婷婷国产偷v国产偷v亚洲| 国产成人亚洲综合色影视| 国产卡二卡三卡四卡免费网址| 国产亚洲美女精品久久久久| 亚洲人成色7777在线观看| 国产精品入口麻豆免费观看| 边摸边吃奶边做爽免费视频网站 | 毛片免费在线观看网址| 一级毛片不卡免费看老司机| 久久精品国产亚洲av高清漫画 | 全黄A免费一级毛片| 久久精品亚洲精品国产色婷| 国产精品视频免费一区二区三区| 国产精品免费久久久久影院|