package com.dzh;
import static java.lang.System.out;
import java.util.Random;
public class FinaData {
static Random random = new Random();
private final int VALUE3 = random.nextInt(20);
private static final int VALUE4 = random.nextInt(20);
public static void main(String args[]) {
FinaData finaData1 = new FinaData();
out.println(finaData1.VALUE3);
out.println(finaData1.VALUE4);
FinaData finaData2 = new FinaData();
out.println(finaData2.VALUE3);
out.println(finaData2.VALUE4);
}
}
以上例子中,VALUE4每次运行的值总是一样的;由于他被声明为static final形式,所以在内存中VALUE4开辟了一个恒定(static)不变(final)的区域 。
final常用形式如下:
public class finalTest {
final int VALUE_1 = 6; //final成员变量不可更改
final int VALUE_2; //没有赋值,称为空白final
public finalTest(){
VALUE_2= 5; //在构造方法中为空白final赋值
}
int doit(final int x) { //设置final参数,不可以改变参数x的值
return x+1;
}
void doSomething() {
final int VALUE_3= 7; //局部变量定义为final,不可以改变VALUE_3的值
}
}