【发布时间】:2012-02-14 08:43:04
【问题描述】:
我想创建一个匿名内部类来扩展另一个类。
我想要做的实际上是这样的:
for(final e:list){
Callable<V> l = new MyCallable(e.v) extends Callable<V>(){
private e;//updated by constructor
@Override
public V call() throws Exception {
if(e != null) return e;
else{
//do something heavy
}
}
};
FutureTask<V> f = new FutureTask<V>(l);
futureLoadingtask.run();
}
}
这可能吗?
【问题讨论】:
-
不管怎样,你为什么不想定义一个常规类呢?
-
如果不可能,我会这样做
-
我建议在这里定义一个常规类。你不能仅仅因为你可以而使用匿名类。当它降低代码复杂度而不是增强它时,必须使用它。
-
你尝试的时候发生了什么?
标签: java inheritance concurrency inner-classes