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

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

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

    游泳的魚

    Class.forName()與new 的區別:

    Class.forName(xxx.xx.xx) 返回的是一個類, .newInstance() 后才創建一個對象 Class.forName(xxx.xx.xx);的作用是要求JVM查找并加載指定的類,也就是說JVM會執行該類的靜態代碼段

    Class aClass = Class.forName(xxx.xx.xx);
    Object anInstance = aClass.newInstance();

    Class.forName("").newInstance()
    返回的是
    object

    but there is some limit for this method to create instance
    that is your class constructor should no contain parameters, and you should cast the instance manually.

     

    下面的例子:Class的最大作用就是實現了動態加載類,為多態提供了很好的幫助。

    class A
    {
        
    void aa()
        
    {
            System.out.println ("A
    里的");    
            
        }       
    }
    class B extends A
    {
        
    void aa()
        
    {
            System.out.println ("B
    里的");    
            
        }      
    }
    class C extends A
    {
        
    void aa()
        
    {
            System.out.println ("C
    里的");       
        }     
    }


    public class ClassDemo
    {
        
        
    public static void main(String[] args)
        
    {
            ClassDemo t=
    new ClassDemo();
            t.show("C");
        }
        
    void show(String name)
        
    {
            
    try
            
    {
                 A show=(A)Class.forName(name).newInstance();
                 show.aa();
            } 
    catch(Exception e){
                 e.printStackTrace();
            }
         }
    }

    Class.forName()與new 的區別:

    jvm的角度看,我們使用new的時候,這個要new的類可以沒有加載;
      但是使用newInstance時候,就必須保證:1、這個類已經加載;2、這個類已經連接了。而完成上面兩個步驟的正是class的靜態方法forName()方法,這個靜態方法調用了啟動類加載器(就是加載java API的那個加載器)。
      有了上面jvm上的理解,那么我們可以這樣說,newInstance實際上是把new這個方式分解為兩步,即,首先調用class的加載方法加載某個類,然后實例化。
      這樣分步的好處是顯而易見的。我們可以在調用class的靜態加載方法forName時獲得更好的靈活性,提供給了我們降耦的手段。

    [
    補充:]
    newInstance:
    弱類型低效率,只能調用無參構造。
    new:
    強類型,相對高效,能調用任何public構造。


    posted on 2008-03-19 01:35 閱讀(419) 評論(0)  編輯  收藏


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


    網站導航:
     

    導航

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    統計

    留言簿(1)

    我參與的團隊

    文章檔案

    友情鏈接

    搜索

    最新評論

    主站蜘蛛池模板: 久久精品国产96精品亚洲| v片免费在线观看| a级片免费在线播放| 日韩一卡2卡3卡4卡新区亚洲| 亚洲va久久久噜噜噜久久狠狠 | 91大神免费观看| 亚洲色四在线视频观看| 99视频在线免费看| 99久久精品国产亚洲| 亚洲综合免费视频| 亚洲中字慕日产2021| 成年私人影院免费视频网站| 亚洲人成欧美中文字幕| 国产成人免费a在线资源| 青草青草视频2免费观看| 亚洲最大av无码网址| 国产婷婷成人久久Av免费高清| 国产亚洲一区二区三区在线不卡| a级毛片免费网站| 亚洲视频.com| 一个人免费观看在线视频www| 亚洲色偷偷综合亚洲AV伊人蜜桃| 国产aa免费视频| 三年片免费高清版| 亚洲最新视频在线观看| aⅴ在线免费观看| 特黄特色大片免费| 久久综合亚洲色HEZYO社区| 成年女人视频网站免费m | 国产无遮挡无码视频免费软件| 337p日本欧洲亚洲大胆色噜噜| 最近中文字幕mv免费高清视频7| 无码AV动漫精品一区二区免费 | 国产一级淫片a免费播放口之| 中国内地毛片免费高清| 亚洲免费在线视频观看| 亚洲男女内射在线播放| 亚洲三级高清免费| 国产福利免费视频 | 亚洲免费在线播放| 日本不卡在线观看免费v|