JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java 新手區 » Object/物件導向  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Re:[實力測試]什麼是多型? [Re:Yoshi]
Duncan

還隱隱作痛

版主

發文: 7816
積分: 39
於 2003-09-13 02:59 user profilesend a private message to usersend email to Duncanreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
Yoshi wrote:
我正打算回這個的說....Embaressed

被overriden的method沒有辦法再被呼叫, 除非透過override它的method, 使用super去呼叫
父別類與子類別有同名的static method....應該是稱做"hide"吧? (不知道有沒有記錯)
這種hide的情況, 透過casting就可以呼叫到不同的static method了
而override就沒辦法囉~

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class SuperClass {
  public static void staticMethod() {
    System.out.println("Superclass's static method");
  }
  public void instanceMethod() {
    System.out.println("Superclass's instance method");
  }
}
 
public class Test extends SuperClass {
  public static void staticMethod() {
    System.out.println("Subclass's static method");
  }
  public void instanceMethod() {
    System.out.println("Subclass's instance method");
  }
  public static void main(String[] args) {
    SuperClass obj = new Test();
    obj.staticMethod();
    ((Test)obj).staticMethod();
    obj.instanceMethod();
    ((Test)obj).instanceMethod();
  }
}

結果:
Superclass's static method
Subclass's static method
Subclass's instance method
Subclass's instance method


你說的很好。如果編譯器最後決議到的 callee 是 non-static, non-private method,那麼才會使用 invokevirtual instruction,這個 instruction 有個 object reference 當作參數,還有個指示 callee 定義所處的 class,後面的這個 instruction 參數不管是指向 base class 或 derivative class,最後的執行結果都是固定的,都會是"最新版"的 implementation 被執行,你可以想像 runtime 是從 instruction 參數所給的 object reference 開始找起,看看其是否有定義 signature 相符的 instance method block,若無,才往基底類別一一上溯。


reply to postreply to post

給我
辣味豆腐 其餘免談
話題樹型展開
人氣 標題 作者 字數 發文時間
64927 [精華] [實力測試]什麼是多型? BruceHsu 1745 2003-09-12 21:35
61596 Re:[實力測試]什麼是多型? swanky 20 2003-09-12 21:48
61372 Re:[實力測試]什麼是多型? BruceHsu 82 2003-09-12 21:57
61711 Re:[實力測試]什麼是多型? Duncan 2568 2003-09-12 22:56
57132 Re:[實力測試]什麼是多型? 183 2004-12-26 02:09
57034 Re:[實力測試]什麼是多型? leonz 13 2004-12-26 04:23
57526 Re:[實力測試]什麼是多型? caterpillar 325 2004-12-26 23:36
56490 Re:[實力測試]什麼是多型? roycliu 195 2005-01-08 15:38
51823 Re:[實力測試]什麼是多型? ylam 32 2005-07-04 22:21
51756 Re:[實力測試]什麼是多型? caterpillar 144 2005-07-05 18:43
51695 Re:[實力測試]什麼是多型? alien 784 2005-07-05 19:06
51668 Re:[實力測試]什麼是多型? caterpillar 1297 2005-07-05 20:32
51680 Re:[實力測試]什麼是多型? alien 1401 2005-07-06 01:23
10891 Re:[實力測試]什麼是多型? sample33 201 2015-09-22 07:31
51575 Re:[實力測試]什麼是多型? caterpillar 495 2005-07-05 20:42
51748 Re:[實力測試]什麼是多型? Duncan 258 2005-07-05 21:58
51407 Re:[實力測試]什麼是多型? ylam 218 2005-07-06 21:50
51411 Re:[實力測試]什麼是多型? Lan2 191 2005-07-06 21:57
51351 Re:[實力測試]什麼是多型? alien 286 2005-07-07 19:57
51743 Re:[實力測試]什麼是多型? ylam 9 2005-07-07 20:28
51336 Re:[實力測試]什麼是多型? alien 138 2005-07-08 00:05
51254 Re:[實力測試]什麼是多型? ylam 97 2005-07-08 17:20
51218 Re:[實力測試]什麼是多型? alien 269 2005-07-08 22:23
51249 Re:[實力測試]什麼是多型? Lan2 23 2005-07-08 19:31
61177 Re:[實力測試]什麼是多型? Duncan 481 2003-09-12 21:54
60946 Re:[實力測試]什麼是多型? BruceHsu 254 2003-09-12 21:55
60892 Re:[實力測試]什麼是多型? BruceHsu 239 2003-09-12 21:56
51169 Re:[實力測試]什麼是多型? ylam 20 2005-07-09 09:44
51101 Re:[實力測試]什麼是多型? alien 122 2005-07-10 00:05
51195 Re:[實力測試]什麼是多型? lkkll 175 2005-07-09 14:50
51097 Re:[實力測試]什麼是多型? alien 366 2005-07-10 00:46
51107 Re:[實力測試]什麼是多型? lkkll 52 2005-07-10 14:23
50974 Re:[實力測試]什麼是多型? lkkll 260 2005-07-10 14:39
50996 Re:[實力測試]什麼是多型? lkkll 220 2005-07-10 14:52
50660 Re:[實力測試]什麼是多型? caterpillar 464 2005-07-10 16:35
50958 Re:[實力測試]什麼是多型? lkkll 201 2005-07-10 15:35
50668 Re:[實力測試]什麼是多型? caterpillar 40 2005-07-10 16:21
50591 Re:[實力測試]什麼是多型? lkkll 54 2005-07-10 16:39
50420 Re:[實力測試]什麼是多型? caterpillar 127 2005-07-10 19:13
50373 Re:[實力測試]什麼是多型? lkkll 31 2005-07-10 21:23
60811 Re:[實力測試]什麼是多型? BruceHsu 43 2003-09-12 22:53
60984 Re:[實力測試]什麼是多型? Duncan 568 2003-09-12 23:06
60812 Re:[實力測試]什麼是多型? BruceHsu 567 2003-09-12 23:08
50425 Re:[實力測試]什麼是多型? caterpillar 74 2005-07-10 21:30
50374 Re:[實力測試]什麼是多型? lkkll 43 2005-07-10 22:45
50390 Re:[實力測試]什麼是多型? caterpillar 476 2005-07-10 22:57
50461 Re:[實力測試]什麼是多型? alien 668 2005-07-10 23:42
50392 Re:[實力測試]什麼是多型? caterpillar 165 2005-07-10 23:54
50367 Re:[實力測試]什麼是多型? alien 161 2005-07-11 00:02
50292 Re:[實力測試]什麼是多型? ylam 76 2005-07-12 20:07
50132 Re:[實力測試]什麼是多型? alien 117 2005-07-14 22:20
49462 Re:[實力測試]什麼是多型? fwen 72 2005-08-10 02:29
49982 Re:[實力測試]什麼是多型? alien 169 2005-08-10 09:59
62862 Re:[實力測試]什麼是多型? T55555 416 2003-09-13 00:30
60929 Re:[實力測試]什麼是多型? Yoshi 416 2003-09-13 00:41
60859 Re:[實力測試]什麼是多型? Duncan 789 2003-09-13 01:48
60720 Re:[實力測試]什麼是多型? caterpillar 0 2003-09-13 01:35
61626 Re:[實力測試]什麼是多型? Duncan 2583 2003-09-14 01:16
56181 Re:[實力測試]什麼是多型? 湯瑪士小火車 359 2005-01-07 15:37
61532 Re:[實力測試]什麼是多型? T55555 1346 2003-09-13 02:17
61018 Re:[實力測試]什麼是多型? Duncan 1680 2003-09-13 02:30
60856 Re:[實力測試]什麼是多型? Yoshi 1140 2003-09-13 02:47
60930 Re:[實力測試]什麼是多型? Duncan 1677 2003-09-13 02:59
60248 Re:[實力測試]什麼是多型? yysun 242 2004-02-06 08:08
60207 Re:[實力測試]什麼是多型? psmonkey 489 2004-02-06 19:15
60268 Re:[實力測試]什麼是多型? yysun 66 2004-02-06 19:42
57675 Re:[實力測試]什麼是多型? doris 333 2004-12-16 22:06
» JWorld@TW »  Java 新手區 » Object/物件導向

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8