构造函数中的变量修饰符

时间:2011-05-03 13:33:21

标签: java

为什么我不能在构造函数中使用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;
         }
     }
}

3 个答案:

答案 0 :(得分:1)

times是一个局部变量,static对局部变量没有意义。

您可以将static final int TIMES = 15放在procedure的定义的上方(或下方),它会正常工作。这是在Java中定义常量的常用习惯。

答案 1 :(得分:0)

因为构造函数与对象有关,即它从类蓝图中创建一个Object。静态变量属于Class本身,因此它们必须处于Class级别。

没有决赛也行不通。这只是意味着参考在分配后不能改变。

答案 2 :(得分:0)

你在const中声明了什么。将仅在区块(本地)内。

static意味着与班级

相关的班级