@huangyn
2016-10-24T16:32:54.000000Z
字数 521
阅读 1290
Java
final
static
赋值
变量
这是精华:
因为当类被加载进内存的时候,这个属性并没有给其分配内存空间,而只是定义了一个变量,只有当类被实例化的时候这个属性才被分配内存空间,而实例化的时候同时执行了构造函数,所以属性被初始化了,也就符合了当它被分配内存空间的时候就需要初始化,以后不再改变的条件。
fianl int a = 1;
public class Test {
private int a;
public Test() {
a = 1;
}
}
1.在定义时直接赋值.
final static int a = 1;
2. 声明时不赋值,在静态代码块中赋值:
public class Test {
public static int a;
static {
a = 1;
}
}