Re: [問題] 一個 java expression 裡有兩個 this
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):