看板java
标 题Re: [问题]inner class存取其外部成员的问题
发信站KKCITY (Wed Jul 4 18:34:32 2007)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!news.au!zoonews.ee.ntu!news
※ 引述《[email protected] (shen)》之铭言:
> ※ 引述《calais007 (浅水中)》之铭言:
> : 这个是scope的问题
> : 外层的block宣告的变数可以给内层的block用
> : 同层的block内的变数不能互用.
> 谢谢你的回答
> 但是我觉得这样解释好像怪怪的
> 因为我的问题是出在:refA如果到了建构式才去宣告并指派一个物件给它
> 这样情况下,内部类别去存取refA才会出现compile error
> 或者calais板友的意思是说,inner class已经视为另一块block,所以才会不能取用??
> 但是我看书上是说,inner class(非static),可以存取外部class的成员
> 似乎跟block没有关系??
就如同calais007大大所说的,你的refA这个物件参考变数是宣告在建构子里,
那麽在建构子结束後,变数也会跟着消失,如何能在别的地方取用呢?
而"内部类别可以取用外部class成员"这句话,是指直接宣告在class下的成员
,所以当你将refA这个变数宣告在class下,就可以取用,所以编译当然就ok
--
┌─────◆KKCITY◆─────┐ ◢╱ 只要你
通过身份认证 ~ ◥█
│ bbs.kkcity.com.tw │ █▉─ 免经验、五人连署即开班系板 ◥
└──《From:61.216.167.50
》──┘ ◥╲ 赶快为班上设个
秘密基地吧!
◢
--