为什么我不能在构造函数中使用static作为变量修饰符,并且最终可以用于例如construcor,例如在我的代码中,我想将变量时间初始化为15的常量,以便在主程序中创建构造函数时
public class RegularProcedure {
// the duration period of a regular procedure is 15
int []procedure;
public RegularProcedure(int t){
final int times=15;
procedure=new int[times];
for(int i=0; i <procedure.length;i++){
procedure[i]=i;
}
}
}
答案 0 :(得分:1)
times
是一个局部变量,static
对局部变量没有意义。
您可以将static final int TIMES = 15
放在procedure
的定义的上方(或下方),它会正常工作。这是在Java中定义常量的常用习惯。
答案 1 :(得分:0)
因为构造函数与对象有关,即它从类蓝图中创建一个Object。静态变量属于Class本身,因此它们必须处于Class级别。
没有决赛也行不通。这只是意味着参考在分配后不能改变。
答案 2 :(得分:0)
你在const中声明了什么。将仅在区块(本地)内。
static
意味着与班级