<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熱點博客

    好友博客

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 抽搐一进一出gif免费视频| 成年女人18级毛片毛片免费观看| 久久亚洲AV成人无码| 成人黄动漫画免费网站视频| eeuss影院免费92242部| 亚洲欧洲精品一区二区三区| 免费a级毛片永久免费| 99精品视频免费在线观看| 亚洲国产综合AV在线观看| 亚洲av永久无码精品漫画| 免费黄色app网站| 免费看无码特级毛片| 亚洲AV无码成人精品区狼人影院| 亚洲AV无码一区二区乱子伦| 四虎在线免费播放| 日韩内射激情视频在线播放免费| 337P日本欧洲亚洲大胆艺术图| 亚洲欧洲日韩不卡| 亚洲国产婷婷综合在线精品| 丁香花免费高清视频完整版| 韩国免费A级毛片久久| 亚洲国产精品成人AV在线| 久久亚洲私人国产精品| 久久精品国产亚洲7777| 夜夜爽免费888视频| 84pao强力永久免费高清| 一区二区三区视频免费观看| 亚洲欧美成aⅴ人在线观看| 亚洲成色999久久网站| 免费夜色污私人影院在线观看| **一级一级毛片免费观看| 三年片免费观看大全国语| 亚洲av无码一区二区三区人妖| 亚洲精品综合久久中文字幕| 亚洲精品无码久久久影院相关影片| 四虎永久免费影院| 成人免费a级毛片| 黄色网址免费大全| 91制片厂制作传媒免费版樱花| 中文字幕在线视频免费观看| 一级毛片正片免费视频手机看 |