Java中的最终变量

最终变量

最终变量只能显式初始化一次。声明为final的引用变量永远不能重新分配以引用其他对象。

但是,可以更改对象内的数据。因此,可以更改对象的状态,但不能更改引用的状态。

对于变量,最终修饰符通常与static一起使用,以使常数成为类变量。

示例

public class Tester {
   final int value = 10;

   //以下是声明常量的示例:
   public static final int BOXWIDTH = 6;
   static final String TITLE = "Manager";
   public void changeValue() {
      value = 12; // will give an error
   }
   public void displayValue(){
      System.out.println(value);
   }
   public static void main(String[] args) {

      Tester t = new Tester();
      t.changeValue();
      t.displayValue();
   }
}

输出结果

编译器将在编译过程中引发错误。

Tester.java:9: error: cannot assign a value to final variable value
value = 12; // will give an error
^
1 error