作者GALINE (天真可爱CQD)
看板java
标题Re: [问题] 能否在回圈里面呼叫 anonymous class 的 method?
时间Tue Jul 24 17:21:24 2012
※ 引述《LaPass (LaPass)》之铭言:
: 推文的时间太久了....
: 直接回
: 你把那一段改成这样就好了
: class Cat{
: public void miew(){
: //do something
: }
: }
: Cat cat=new Cat();
: for(;;){
: cat.miew();
: }
那个,我的意思是
能不能不建立新的 Class 而呼叫无名 Class 的 function [汗]
我还是讲一下我碰到的实际状况好了....
我现在有个肥吱吱的 Class John,我想要偷 John 的
protected method money() 来用
(我知道偷钱是不好的行为,不过这边就先不管了吧[小声])
於是我想这麽搞
// new John().money(); // can't do this
new John(){
public void steal(){
money();
}
}.steal();
可是如果我得在回圈里面用到这个 method ,那就没辄了
除非重复 new 新的 John 出来
所以我想找有没有办法在回圈里面重复呼叫继承自 John
的 anonymous class 的 steal();
当然这个例子是可以用 inner class 继承 John 来做,不过我想找不用
搞个 class 来继承就能达到的作法,这样可以确保相关的特殊逻辑都集
中在一页的范围内,排版会好读一点...
如果不行的话我大概还是会搞个 inner class 来继承就是了...
另外想避开 reflection 的原因是效能的 overhead
Java 1.4 的 reflection 我觉得效能是没有很好
而且 Java 的 reflection 写起来丑死了,不好读 /__\
--
这闪电拳能射出雷射光,威力每平方公分一万亿瓦特
威力无比,拳到之处,攻无不克
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.244.113.189
※ 编辑: GALINE 来自: 60.244.113.189 (07/24 17:24)
1F:推 LaPass:也只能继承或用反射了吧.... 汗 07/24 17:35