final关键字可以用于变量申明,一旦该变量被设定后,就不可以再改变变量的值。通常由final定义的变量为常量。例如在类中定义的PI值,可以使用如下语句。 final double PI=314; 当在程序在使用到PE这个常量时,它的值就是3.14,如果在程序中再次对定义为final的常量赋值,编译器奖不会接受这样一个错误。 final关键字定义的变量必须在声明时对其进行赋值操作。final除了可以修饰基本数据类型的常量之外,还可以修饰对象引用。由于数组也可以被看作一个对象引用,所以final 可修饰数组。一旦一个对象引用被修饰为final,它只能恒定指向一个对象,无法将其改变指向另一个对象。一个既是static又是 final的字段只占据一段不能改变的存储空间。为了深入了解final关键字。来看下面的实例。 package com.wsy; import static java.lang.System.out;
import java.util.Random; class Test{ int i=0; } public class FinalData {
/** * @param args * final数据的验证 */ static Random rand=new Random(); private final int VALUE_1=9; private static final int VALUE_2=10; private final Test test=new Test(); private Test test2=new Test(); private final int[] a={1,2,3,4,5,6}; private final int i4=rand.nextInt(20); private static final int i5=rand.nextInt(20); public String toString(){ return i4+" "+i5+" "; } public static void main(String[] args) { // TODO 自动生成方法存根 FinalData data=new FinalData(); //out.print(data.test.i++); //data.test=new Test();//不能将定义为final引用指向其他对象 //data.value2++;//不能改变定义为final的常量值 data.test2=new Test(); for(int i=0;i