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

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

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

    posts - 431,  comments - 344,  trackbacks - 0
    下面先看一下代碼:

    package com.eric.news;

    public class TestWrapper2 {

     public void doSomething(double num) {
      System.out.println("deal double");
     }
     public void doSomething(Integer num) {
      System.out.println("deal integer");
     }
     public static void main(String[] args) {
      int i = 2;
      TestWrapper2 t = new TestWrapper2();
      t.doSomething(i);
     }

    }

    哪一個method會被調用?在Tiger之前的環境中,這個很容易判斷的,int會被擴展成double并調用doSomething(double num)。然而,在Tiger的環境中,看起來好像會發生boxing,所以解析后被調用的會是doSomething(Integer num),但實際上并不是這樣的。
    在Tiger中,因為有些的限制,所以method的解析是三個pass的過程:
    1. 編譯器會試著不用任何的boxing,unboxing,或者啟用vararg來定位正確的method。這會找到根據Java 1.4的規則而會調用的任何method。
    2. 如果第一個pass失敗了,編譯器會再度嘗試解析method,但這次會容許boxing與unboxing轉換。具有vararg的方法不在這次pass考慮范圍內。
    3. 如果第二個pass也失敗了,編譯器會做最后一次的嘗試,容許boxing與unboxing,且同時也考慮到vararg method。
    這樣的規則可以確保維持與Tiger之前的環境的一致性。

    所有結果是:
    deal double

    但如果修改代碼為:

    package com.eric.news;

    public class TestWrapper2 {

     public void doSomething(Double num) {
      System.out.println("deal double");
     }
     public void doSomething(Integer num) {
      System.out.println("deal integer");
     }
     public static void main(String[] args) {
      int i = 2;
      TestWrapper2 t = new TestWrapper2();
      t.doSomething(i);
     }

    }


    而這里就第一個pass就會失敗,而后繼續執行第二個pass,所有結果為:
    deal integer

    posted on 2008-04-23 15:17 周銳 閱讀(319) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 国拍在线精品视频免费观看| 少妇性饥渴无码A区免费| 在线视频免费观看高清| 久久精品国产精品亚洲毛片| 男女午夜24式免费视频| 亚洲国产精品热久久| 日韩精品极品视频在线观看免费 | 亚洲精品中文字幕麻豆| 性无码免费一区二区三区在线| 亚洲av永久无码精品国产精品| 一区二区三区无码视频免费福利 | 亚洲一区精品视频在线| 色窝窝免费一区二区三区| 亚洲精品无码永久在线观看男男| 国产国产成年年人免费看片| 污视频网站免费观看| 亚洲午夜久久久久妓女影院| 久久国产精品免费专区| 91午夜精品亚洲一区二区三区| 啦啦啦高清视频在线观看免费 | 三级网站免费观看| 亚洲欧洲日韩国产综合在线二区| h视频在线免费看| 亚洲日韩中文字幕无码一区| 亚洲乱码国产一区网址| 精品国产免费一区二区三区香蕉| 亚洲国产美女视频| 亚洲国产成人精品女人久久久| 久久免费美女视频| 亚洲欧洲国产综合AV无码久久| 亚洲国产精品狼友中文久久久 | 免费在线观看的黄色网址| 97国免费在线视频| 亚洲一区精品视频在线| 亚洲男女内射在线播放| 91精品国产免费久久国语麻豆| 亚洲成av人在线观看网站| 亚洲精品国产精品乱码在线观看| 欧美三级在线电影免费| www免费黄色网| 亚洲AV成人影视在线观看|