【发布时间】:2019-09-05 05:13:22
【问题描述】:
是否可以让匿名内部类返回包含它的方法的值?例如,我想在匿名内部类something() 中进行一些计算,并让doStuff() 返回该值。
private int doStuff(){
Foo foo = new Foo(new Bar.Example() {
@Override
public void something() {
...
//return int for doStuff()
}
});
}
【问题讨论】:
-
您可以简单地调用匿名类的方法,例如
new Bar.DoStuff() { ... }.something()。但是请花一些精力使您的示例代码有意义,例如缺少new,从void方法返回一个int,明确你将要对foo做什么以从中获取值... -
感谢您的回答!我修复了丢失的
new,但return 1是我试图表明我希望doStuff返回 1,没有 void 方法返回 1,但是我确实整理了它。
标签: java return return-value anonymous-methods anonymous-inner-class