作者adrianshum (Alien)
看板java
标题Re: [问题] extends inner class
时间Thu Jun 11 10:57:57 2009
※ 引述《sansea (痕天)》之铭言:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 140.120.210.186
: 推 Fenikso:Test()的第一行加上 new Circle().super(1, 2); 06/10 22:11
: → Fenikso:non-static inner class需要一个outer class的instance 06/10 22:12
楼上说的, syntax 上是正确.
但感觉上就像, 有人问我写了一个 method (instance method)
没法 call, 要怎办, 然後回答说: 就 new MyObj().method() 就
好了
我之前有说过类似的东西: 一个 method (或这里, inner class)
是不是 instance method, 要看的是它目的是不是在操作该
object 本身, 是的话, 那很自然就要写 instance method,
反之则是 static. 要人写 new MyObj().method() 很明显
就是 syntax 对但概念错的答案了, 既然为了 call method(),
只是随便 instantiate 一个 MyObj 就行了, 里面也没有特别
需要操作某 MyObj instance, 那为什麽不乾脆写成 static method?
同理, 原 po 的 inner class, 没需要操作 outer class, 那
很明显就是应该作为 static inner class. 硬叫他写
new Outer().super() 我觉得是本末倒置了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.155.236.82
※ 编辑: adrianshum 来自: 202.155.236.82 (06/11 10:58)
1F:推 sansea:懂了 谢谢各位的回答~~ 06/11 12:02