看板 java 關於我們 聯絡資訊
※ 引述《AI3767 (星泉幼子)》之銘言: : 只是我不明白語意 >< : A.this.getA() 回傳的是 A 型態, 怎麼使用super()時 : 意義上卻是 B 型態的建構式? : 是否有個例子可以說明, 一定要使用 A.this.super() 的用法? : (就像是 A.this.getA()與 getA() 這樣的差異) construct一個non static inner class的時候要有一個outer class的instance 很難懂嗎 直接看例子好了XD class X { class Y {} } class Z1 extends X.Y { Z1() {} // error: an enclosing instance that contains X.Y } // is required class Z2 extends X.Y { Z2() { (new X()).super();// ok, 先new一個X, 再call X裡面的Y constructor } } 上一篇的code裡面A.this.super()是多餘的, 只是為了湊字XD 但是如果改成 (new A()).super()就有差, B跟C看到的A.this會不一樣 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.156.17
AI3767:喔,瞭解了^^ 所以外面要繼承非靜態內部類別,就需要這方法了 03/29 21:24