飛艷小屋

          程序--人生--哲學___________________歡迎艷兒的加入

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            52 Posts :: 175 Stories :: 107 Comments :: 0 Trackbacks
          ?我知道一個類的名兒,比如:"com.common.MyClass"但是在我自己的類中不能用這個來定義他的一個實例,因為這個類的名兒可能會變化,請看下面: ?
          ? class ? A{ ?
          ? ? ? ? ? // ? com.common.MyClass ? obj; ? 不能這樣定義 ?
          ? ? ? ? ? Object ? obj ? = ? Class.forName("com.common.MyClass").newInstance(); ?
          ? ? ? ? ? // ? 上面一句,生成一個自定義類的實例,但是我怎樣才能把obj強轉成com.common.MyClass這個 ?
          ? ? ? ? ? // ? 類型呢???或者說怎么樣直接把obj定義成com.common.MyClass的類型???(動態的來定義) ?
          ? ? ? ? ? // ? 請高手們指教啊!!! ?
          ? }
          好像沒有辦法,如果是要調用MyClass的函數的話還是有辦法的 ?
          ? 比如: ?
          ? obj所屬的類有toLog方法,toLog(String ? str,Integer ? i),可以用下面的代碼調用這個函數 ?
          ? Object ? obj ? = ? Class.forName("com.common.MyClass").newInstance(); ?
          ? Method ? logMethod ? = ? obj.getClass().getMethod("toLog",new ? Class[] ? { ? String.class, ? Integer.class ? }); ?
          ? Object ? logobj ? = ? logMethod.invoke(obj, ? new ? Object[] ? { ? "something",new ? Integer(7) ? });??
          posted on 2007-01-14 19:46 天外飛仙 閱讀(2197) 評論(3)  編輯  收藏

          Feedback

          # re: java生成動態類實例并調用里面的方法 2007-01-14 20:26 路過
          你這個是不是把MyClass定義成一個接口了,然后你要在程序中調用他的實現類  回復  更多評論
            

          # re: java生成動態類實例并調用里面的方法 2007-04-24 15:31 天外飛仙
          不是接口,是接口能用這個方法嗎?Class.forName("com.common.MyClass").newInstance();
            回復  更多評論
            

          # re: java生成動態類實例并調用里面的方法 2007-08-29 14:09 天外飛仙
          以上意思是想調用一個用變量表示的一個類,用class.forname()實例化它,現在怎么調用這個類里的所有方法.在不知道這個類里有什么方法時.也可以用接口實現,現在想來好傻.  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 乌鲁木齐县| 兖州市| 泾川县| 安阳县| 年辖:市辖区| 邵阳县| 衡水市| 姚安县| 黄冈市| 策勒县| 泰州市| 保靖县| 山丹县| 疏勒县| 涿鹿县| 云林县| 永登县| 襄垣县| 吉林省| 阿图什市| 五台县| 图木舒克市| 卓尼县| 海口市| 吉水县| 历史| 四川省| 石狮市| 亚东县| 上饶县| 宜兰县| 阜南县| 紫阳县| 竹山县| 农安县| 大冶市| 汉源县| 澄江县| 文化| 临夏县| 收藏|