通常,最终变量只需初始化一次。不允许其他初始化。如果是这样的话,当在方法内声明最终变量时会发生什么。假设在其中声明最终变量的方法被调用/调用三次,方法中该最终变量的声明语句被执行三次,并且最终变量应该被初始化三次,这在特定的Java中是非法的。在这种情况下,编译器如何在方法中维护最终变量?
答案 0 :(得分:17)
局部变量仅在方法持续时间的范围内。可以为每个方法范围初始化变量一次。
您可能希望了解堆栈与堆,以了解JVM如何保存方法的数据。
答案 1 :(得分:16)
方法变量的范围在方法的调用生命周期中。
最终修饰符确保在初始化时,不能在该调用的方法的范围内重新初始化。
所以是的,根据方法调用,该变量是最终的。
答案 2 :(得分:5)
方法中变量的最终声明确保变量的值不会在声明它的范围内发生变化,在这种情况下只是方法。