这怎么可能?如何更改标记为 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.4
final
变量变量可以声明为 final。最终变量只能赋值一次。如果将最终变量赋值给,除非在赋值之前明确未赋值,否则这是一个编译时错误(§16(明确赋值((。