为什么我可以在 Android AIDE 中为最终变量重新分配新值?



这怎么可能?如何更改标记为 final 的变量?

public class Main
{
public static void main(String[] args)
{
final int NUM;
NUM = 22;
NUM = 33;
System.out.println(NUM);
}
}

我在安卓中使用AIDE应用程序...它编译成功并印刷33

如果你能做到这一点,那就是AIDE应用程序中的错误。 您应该将其报告给开发人员。 Java 的 JLS 兼容实现不允许重新分配final变量(像这样(。

如果你想给他们一个JLS规范参考来支持你的错误报告:

JLS 4.12.4final变量

变量可以声明为 final。最终变量只能赋值一次。如果将最终变量赋值给,除非在赋值之前明确未赋值,否则这是一个编译时错误(§16(明确赋值((。

相关内容

  • 没有找到相关文章