看板 java 關於我們 聯絡資訊
class Father{ String name = "Father"; String getName(){ return name; } String greeting(){ return "class Father"; } } class Son extends Father{ String name = "Son"; String greeting(){ return "class Son"; } void foo(){ System.out.println((Son)this).greeting(); System.out.prtinln((Father)this).greeting(); } } 要問印出來的訊息 ((Son)this).greeting() 是指 Son 類別的 greeting(), 所以訊息為 class Son. ((Father)this).greeting() 是指 Son 類別的 greeting(), 但是為 Father 型別, 出現的訊息不應該跟著轉型後的型別走嗎? 怎麼不是 class Father 而是 class Son ? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.116.196.131
neigence:當然是跟你的實體走 不會跟著型態走 02/16 18:57
neigence:型態決定你可以呼叫什麼 實體決定你呼叫的是什麼 02/16 18:58
H45:也就是說實體是實體,樣子是樣子 02/16 20:37