Calvin's Tech Space

          成于堅(jiān)忍,毀于浮躁

             :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理

          我們都知道java里生成對(duì)象有如下兩種方式:

          1Object obj = new ClassName(); 

          直接new一個(gè)對(duì)象

          2Class clazz = Class.forName(ClassName);

              Object obj = clazz.newInstance(); 

          通過class loader動(dòng)態(tài)裝載一個(gè)類,然后獲取這個(gè)類的實(shí)例

              同樣是生成對(duì)象,1在編譯期間檢查classpath, 如果沒有類定義,編譯沒法通過。而2在編譯期間是不會(huì)檢查的,不過需要拋出或者自己catch ClassNotFoundException。 運(yùn)行期間,如果1編譯時(shí)依賴的類不在classpath中(導(dǎo)致classloader裝載失敗),此時(shí)拋出的異常就是 NoClassDefFoundError。而如果2在運(yùn)行期間需要裝載的類不在classpath中,拋出的則是 ClassNotFoundException

           

          posted on 2009-09-16 21:23 calvin 閱讀(168) 評(píng)論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 呈贡县| 浦北县| 九台市| 黔南| 阿拉尔市| 仲巴县| 营口市| 大冶市| 隆化县| 陕西省| 齐河县| 丰顺县| 特克斯县| 阿拉善左旗| 阿坝县| 井陉县| 淳安县| 社旗县| 西华县| 恩平市| 郑州市| 驻马店市| 龙岩市| 沈丘县| 和林格尔县| 呼和浩特市| 黑龙江省| 衡水市| 尼木县| 江都市| 瓦房店市| 怀来县| 景德镇市| 锡林郭勒盟| 武功县| 舟山市| 梧州市| 札达县| 大化| 建平县| 沂水县|