数组参数需要静态引用

时间:2016-01-03 17:42:40

标签: java arrays static

public class Test1
{
    final static int ARR_LENGTH = 3;

    public static void main(String[] args)
    {   
         int[] arr = new int[ARR_LENGTH];
         for(int x=0;x<ARR_LENGTH;x++)
         arr[x]=x+1;

         for(int element:arr)
             System.out.print(element + ", ");
     }
}

为什么ARR_LENGTH在main之外声明时必须是一个静态变量?

2 个答案:

答案 0 :(得分:0)

static表示它是一个类的变量,
这意味着static关键字只能在“类范围”中使用,即它在方法内部没有任何意义。

答案 1 :(得分:-1)

  

问:为什么ARR_LENGTH在main之外声明时必须是静态变量?

答案:因为main()是静态方法。

这背后的原因是因为在创建类的实例之前可以调用静态方法和变量(这正是我们定义一些静态的方法或变量的原因);因此,在类的静态方法中,您无法访问非静态成员,因为它们只能从类的实例中看到,而不是在实例化同一个类之前可以调用的静态方法。