<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 閱讀(421) 評論(0)  編輯  收藏


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


    網站導航:
     

    導航

    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    統計

    留言簿(1)

    我參與的團隊

    文章檔案

    友情鏈接

    搜索

    最新評論

    主站蜘蛛池模板: 激情亚洲一区国产精品| 久久无码av亚洲精品色午夜| 国产成人免费高清激情明星| 国产精品亚洲四区在线观看 | 免费人成网站在线播放| 成在人线av无码免费高潮喷水| 亚洲精品国产福利片| 无码国模国产在线观看免费| 波霸在线精品视频免费观看| 国产精品久久亚洲不卡动漫| 亚洲人妻av伦理| 亚洲精品免费在线| 成人免费观看男女羞羞视频| 亚洲国产午夜电影在线入口| 亚洲人成电影网站国产精品 | 我想看一级毛片免费的| 国产精品美女免费视频观看| 国产精品亚洲专区在线观看| 亚洲码国产精品高潮在线| 毛片视频免费观看| 99久久国产精品免费一区二区| 亚洲欧美成aⅴ人在线观看| 婷婷精品国产亚洲AV麻豆不片| 免费jjzz在在线播放国产| 精品国产免费人成电影在线观看| 日韩毛片在线免费观看| 亚洲av乱码一区二区三区香蕉| 亚洲人色婷婷成人网站在线观看 | 青青视频观看免费99| 免费人成在线观看视频高潮 | 久久国产免费福利永久| 免费看一区二区三区四区| 精品一区二区三区免费毛片| 亚洲国产人成在线观看| 亚洲欧洲日产国码久在线观看 | 亚洲开心婷婷中文字幕| 国产午夜鲁丝片AV无码免费| 成年网站免费视频A在线双飞| 蜜桃成人无码区免费视频网站 | 在线观看成人免费| 亚洲视频免费观看|