從制造到創(chuàng)造
          軟件工程師成長(zhǎng)之路
          posts - 292,  comments - 96,  trackbacks - 0
          在反射機(jī)制中,Class.forName(className).newInstance();
          如果你想通過反射機(jī)制得到當(dāng)前包的某個(gè)類的實(shí)例,傳入類名的同時(shí)必須傳入包名。

          例如在包c(diǎn)om.coderdream下有兩個(gè)類Shape,ShapeFactory,如果你想在ShapeFactory中的某個(gè)方法中用反射的方法生成Shape類,那么如果直接使用:
              Class.forName("Shape").newInstance();
          會(huì)拋出找不到類的異常,因?yàn)榇_實(shí)沒有Shape類,而只有com.coderdream.Shape類。

          但是我們傳參數(shù)時(shí)一般只會(huì)傳不帶包的類名,那么我們可以這樣處理:
              String packageName = new ShapeFactory().getClass().getPackage().getName();
              
          return (Shape) Class.forName(packageName + "." + className).newInstance();
          其中    new ShapeFactory().getClass().getPackage().getName() 會(huì)得到包名“com.coderdream”,我們只要加上“.”和類名就沒有問題了。

          posted on 2007-11-23 15:34 CoderDream 閱讀(6358) 評(píng)論(2)  編輯  收藏 所屬分類: 經(jīng)驗(yàn)點(diǎn)滴

          FeedBack:
          # re: 反射應(yīng)用經(jīng)驗(yàn):得到當(dāng)前類的包名
          2012-04-09 15:55 | 游客
          String packageName = new ShapeFactory().getClass().getPackage().getName();
          可以改為
          String packageName = this.getClass().getPackage().getName();

          可以減少一次new  回復(fù)  更多評(píng)論
            
          # re: 反射應(yīng)用經(jīng)驗(yàn):得到當(dāng)前類的包名[未登錄]
          2013-03-21 12:22 | test
          厲害 ,謝謝你 感激。  回復(fù)  更多評(píng)論
            

          <2007年11月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          常用鏈接

          留言簿(9)

          我參與的團(tuán)隊(duì)

          隨筆分類(245)

          隨筆檔案(239)

          文章分類(3)

          文章檔案(3)

          收藏夾(576)

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 459330
          • 排名 - 114

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 宁南县| 仙游县| 宁海县| 博乐市| 深水埗区| 双江| 宜君县| 青川县| 张家港市| 和田市| 丹东市| 桐庐县| 扬州市| 江山市| 花垣县| 合山市| 东乡族自治县| 兰溪市| 东乡县| 炎陵县| 都昌县| 淅川县| 安庆市| 逊克县| 临夏市| 衡南县| 柘城县| 昌江| 安溪县| 黔东| 晋江市| 汽车| 永宁县| 通榆县| 衡水市| 永城市| 施秉县| 乾安县| 临沭县| 南华县| 富锦市|