gpt4 book ai didi

java - 最终作为参数传递

转载 作者:行者123 更新时间:2023-12-02 11:17:16 25 4
gpt4 key购买 nike

在下面的示例中,它通过设置参数 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,它也应该在范围内。因为大括号尚未关闭。

提前致谢。

最佳答案

这与范围无关,而是与anonymous inner classes有关。 .

您无法从在父类中声明的匿名类访问局部变量,除非该变量是final

看看this关于 SO 的其他问题解释了逻辑。

关于java - 最终作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15269473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com