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

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

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

    Dict.CN 在線詞典, 英語學習, 在線翻譯

    都市淘沙者

    荔枝FM Everyone can be host

    統計

    留言簿(23)

    積分與排名

    優秀學習網站

    友情連接

    閱讀排行榜

    評論排行榜

    深入理解Java對象實例生成的例子

    class A { 
      public int Avar; 
      public A() { 
       System.out.println("AAA"); 
       doSomething(); 
      } 
    
      public void doSomething() { 
       Avar = 1111; 
       System.out.println("A.doSomething()"); 
      } 
    } 
    
    public class B extends A { 
      public int Bvar = 2222; 
      public B() { 
       System.out.println("BBB"); 
       doSomething(); 
       System.out.println("Avar=" + Avar); 
      } 
    
      public void doSomething() { 
        System.out.println("Bvar=" + Bvar); 
      } 
    
     public static void main(String[] args) { 
       new B(); 
     } 
    }
    
    講解:
    順序是這樣得,首先生成B就得先生成A(沒有父,哪來子)
    所以調用A的構造器,輸出AAA,
    然后調用方法dosomething,!!!
    注意:A的該方法被B覆蓋,
    而你生成的是B的對象,
    所以它調用B的方法,
    由于BVAR目前沒有給定值,
    所以自動初始化為0,
    然后生成B對象,
    先初始化變量BVAR,
    然后調用構造器輸出BBB,
    然后調用方法,
    這時BVAR已初始化,
    所以輸出BVAR=2222,
    而對象A中變量AVAR由于沒有調用對象A的方法dosomething,
    所以其值為0,則輸出0
    全部輸出就如下:


    ?????


    AAA
    Bvar=0
    BBB
    Bvar=2222
    Avar=0
    注意:初始化順序,當繼承時,先生成超類對象,生成對象時,先生成靜態變量,然后是一般變量,然后調用構造器!當所以超類對象生成后,生成本對象,順序一樣! 當方法被覆蓋時,調用目前對象的方法!這得注意。

    下面這個題目你能選對答案嗎?:

    What will happen when you attempt to compile and run the following code?
    
    class Base 
    {
        int i = 99;
        public void amethod()
        {
            System.out.println("Base.amethod()");
        }
            	
        Base()
        {
            amethod();
        }
    }
    public class Derived extends Base
    {
        int i = -1;
            
        public static void main(String argv[])
        {
            Base b = new Derived();
            System.out.println(b.i);
            b.amethod();
        }
    	
        public void amethod()
        {
            System.out.println("Derived.amethod()");
        }
    }
    
     A. Derived.amethod()
        -1
        Derived.amethod()
    
     B. Derived.amethod()
        99
        Derived.amethod()
    
    C. 99
        Derived.amethod()
    D.
        Compile time error
    

    posted on 2006-04-26 15:53 都市淘沙者 閱讀(249) 評論(1)  編輯  收藏 所屬分類: Java Basic/Lucene/開源資料

    評論

    # re: 深入理解Java對象實例生成的例子 2006-11-27 20:36 浪子

    好像是B吧,


    第一個例子好有收獲...  回復  更多評論   

    主站蜘蛛池模板: 成人超污免费网站在线看| 67pao强力打造高清免费| 国产精品jizz在线观看免费| 亚洲成人黄色网址| 91免费国产自产地址入| 亚洲一区二区三区高清| 最近中文字幕无免费| 7777久久亚洲中文字幕蜜桃| 亚洲精品免费在线| jlzzjlzz亚洲jzjzjz| 性感美女视频免费网站午夜| 色偷偷亚洲第一综合| 亚洲第一页综合图片自拍| 国产福利在线观看永久免费| 亚洲国产精品成人精品无码区在线| 国产日韩一区二区三免费高清| 亚洲AV无码成人网站久久精品大| 在线观看www日本免费网站| 亚洲人成影院在线高清| 永久免费AV无码网站在线观看| 国产av无码专区亚洲av毛片搜| 亚洲最大av无码网址| 国产免费网站看v片在线| 亚洲第一页中文字幕| 日本一道在线日本一道高清不卡免费 | 无码精品A∨在线观看免费| 亚洲最大的黄色网| 亚洲精品国产高清嫩草影院| 精品成人免费自拍视频| 亚洲乱人伦精品图片| 亚洲AV永久无码精品一区二区国产| 色www永久免费网站| 亚洲国产av一区二区三区丶| 免费人成在线观看播放国产| 精品一区二区三区免费| 亚洲最大av资源站无码av网址| 亚洲国产精品成人网址天堂| 99精品视频在线视频免费观看 | 亚洲国产美女精品久久久| 亚洲最大激情中文字幕| 国产成人福利免费视频|