Re: [問題] 一個 java expression 裡有兩個 this

看板java作者 (ばかちーは俺の嫁)時間16年前 (2009/03/29 18:56), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/4 (看更多)
※ 引述《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

03/29 21:24, , 1F
喔,瞭解了^^ 所以外面要繼承非靜態內部類別,就需要這方法了
03/29 21:24, 1F
文章代碼(AID): #19prFhnf (java)
討論串 (同標題文章)
文章代碼(AID): #19prFhnf (java)