能够在java中修改最终值吗?

能够在java中修改最终值吗?,java,Java,在java中,我知道final变量值不能更改。请参阅下面的程序,并帮助我如何更改最终值 public class MainClass { final static int name=123; public static void main(String[] args) { System.out.println(name+123); } } 输出为246** 谢谢 您正在打印name+123而不是name字段name没有更改。没有更改name的值,为输

在java中,我知道final变量值不能更改。请参阅下面的程序,并帮助我如何更改最终值

public class MainClass {

    final static int name=123;
    public static void main(String[] args) {
        System.out.println(name+123);
    }
} 
输出为246**


谢谢

您正在打印
name+123
而不是
name
字段
name
没有更改。

没有更改
name
的值,为输出创建了一个临时值。
System.out.println(name+123);
System.out.println(name); // run it again with this line
试一试


它将无法编译。

最终值不会更改。java只是做了算术
System.out.println(name+123)是246


运行
System.out.println(名称)
之后应该是123

调用
System.out.println(name+123)
时,实际上并没有修改
name
的值

如果在此之后打印
name
的值,您会看到它仍然是123

System.out.println(name);    // prints 123

您不需要更改最终变量,而是使用123的和打印它。name的值为123,与123相加后显示

设想第三个变量构建运行时,它被称为包含name123之和,然后被称为打印它

在此行下方再添加一行:

System.out.println(name); // This would print your variable's current value

嗯??名字一点也没变!您在哪里看到它被修改了?
System.out.println(name); // This would print your variable's current value