【发布时间】:2013-03-07 11:03:49
【问题描述】:
在以下示例中,它通过将参数int i 设置为final 来工作和编译
class Miner1
{
Miner getMiner(final int i) {
return new Miner() {
public void perform_work() {
System.out.println(i);
}
};
}
interface Miner { void perform_work(); }
否则如果没有像前面的例子那样设置为final,它将无法编译。
有人知道为什么吗?即使没有final,它也应该在范围内,因为花括号尚未关闭。
提前致谢。
【问题讨论】:
-
我打算回答这个问题,但上面的链接已经很好地涵盖了它:-) +1'd
标签: java parameters final