<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)

    我參與的團隊

    文章檔案

    友情鏈接

    搜索

    最新評論

    主站蜘蛛池模板: 亚洲成A∨人片在线观看无码| 亚洲AV中文无码乱人伦| 97精品免费视频| 99在线精品视频观看免费| 黄色a三级免费看| 亚洲国产成人久久精品app| 亚洲精品免费网站| 亚洲精品无码久久久久久| 24小时日本在线www免费的| 男男gvh肉在线观看免费| 久久久久亚洲精品天堂久久久久久| 色婷婷亚洲一区二区三区| 亚洲精品无码专区久久同性男| 人妻在线日韩免费视频| 国产成人无码精品久久久免费 | 免费一级特黄特色大片| 永久中文字幕免费视频网站| 亚洲精品自偷自拍无码| 国产免费私拍一区二区三区| 日韩电影免费在线观看网址| 亚洲午夜久久久影院| 亚洲精品免费视频| 亚洲 暴爽 AV人人爽日日碰| 国产自产拍精品视频免费看| 男女一边桶一边摸一边脱视频免费| 亚洲AV永久无码区成人网站| 成人无码区免费A片视频WWW| 春意影院午夜爽爽爽免费| 亚洲AV日韩AV天堂久久| 99精品国产免费久久久久久下载 | 亚洲xxxx18| 2048亚洲精品国产| 最近中文字幕mv免费高清视频8 | 亚洲成av人在线观看网站 | 亚洲精品国产免费| 国产资源免费观看| 久久香蕉国产线看免费| 亚洲一区二区三区高清在线观看| 91麻豆国产自产在线观看亚洲| 亚洲免费福利视频| eeuss影院ss奇兵免费com|