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之外声明时必须是一个静态变量?
答案 0 :(得分:0)
static
表示它是一个类的变量,
这意味着static
关键字只能在“类范围”中使用,即它在方法内部没有任何意义。
答案 1 :(得分:-1)
问:为什么ARR_LENGTH在main之外声明时必须是静态变量?
这背后的原因是因为在创建类的实例之前可以调用静态方法和变量(这正是我们定义一些静态的方法或变量的原因);因此,在类的静态方法中,您无法访问非静态成员,因为它们只能从类的实例中看到,而不是在实例化同一个类之前可以调用的静态方法。