推 PsMonkey:請先敘述自己的解讀中與現象的矛盾點 08/31 07:39
^^" 第二個問題有點通想了!return new inner01();
實際上是 return this.new inner01(); (不是很有把握)
^^^^
↓↓
呼叫該方法的實體,也就是new A()
第一,回傳 D 型態,但實作上還是指向 inner01!
變成 A.inner01 t = (D)new inner01(); (這只是我自己的想像,沒有這種寫法)
造成 子類別 實作 父類別 (錯誤)
第二,改成 A.D t =t.getD() → 父類別 實作 父類別 (正確)
但 D 介面為 private 權限,所以在這也造成取存失敗
又有問題了 囧" return new inner01()
return this.new inner01()
return new A().new inner01() 以上三個都確定
return this.new A().new inner01() (錯誤)
所以如果不寫出 this 的話!那是由編譯器自行視情況要不要加 this 嗎???
不知道我的解讀得幾分 >"< , 請鞭小力一點
推 kuninaka:幹嘛搞得這麼亂? 08/31 09:32
→ dnzteeqrq:k大你的亂是指??@@" 08/31 10:36
※ 編輯: dnzteeqrq 來自: 114.46.100.214 (08/31 10:43)