public static final int a;

来源:百度知道 编辑:UC知道 时间:2024/06/22 03:16:07
public static final int a;
把这句话声明为一个成员变量如果不想在定义的时候给它赋值,还有别的办法吗?
一定有办法的···我老大给我出的题啊··!今晚就要给他答案了。在构造函数里给a赋值,这行不通啊?因为这被声明为static类型了。江湖救急,急急如律令···!谢谢啦··!

貌似没有什么办法
java需要保证你的程序只能给a赋一次值,所以只能在静态的部分来做赋值操作
看看这样算不算符合你想要的:
public static final int a;

static{
a = 0;
}

不可能,Java特性就是这样的值不可改,因为static在初始化时就需要写进堆区了。

如果去掉static倒可以通过构造器传值。
package search;

public class Test4 {

public final int a;

public Test4(int a){
this.a=a;
}

}

可以的,只有在构造方法里给 a 赋值了。哈哈刚看到的

把final去掉.