public static final int a;

2025-04-30 15:24:05
推荐回答(4个)
回答1:

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

static{
a = 0;
}

回答2:

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

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

public class Test4 {

public final int a;

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

}

回答3:

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

回答4:

把final去掉.