作者Fenikso (ばかちーは俺の嫁)
看板java
标题Re: [问题] 一个 java expression 里有两个 this
时间Sun Mar 29 18:56:41 2009
※ 引述《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
1F:推 AI3767:喔,了解了^^ 所以外面要继承非静态内部类别,就需要这方法了 03/29 21:24