为什么必须在方法中定义数组的元素?

时间:2015-01-30 19:32:47

标签: java arrays

我是新手,还有很多学习要做,这可能是一个非常基本的问题。但我不明白为什么我必须从方法内部向数组元素添加int

我不能

public class staticvars {

int[] Grokk = new int[5];

Grokk[0] = 12
}

由于某些原因,可能是这个糟糕的设计,但我计划在我的程序启动时加载一个包含许多我想要加载的静态变量的类文件,并在程序启动时通过该类文件初始化所有变量。

1 个答案:

答案 0 :(得分:1)

Java不允许“无处不在”中的语句 - 所有语句都应该在方法,构造函数或静态初始化器中完成。这个规则的一个例外是成员初始化,这只是将此代码放在构造函数中的语法糖。

在您的情况下,除非您使用内联初始化来初始化整个Grokk数组...

int[] Grokk = new int[] {12, 13, 14, 15, 16}

...您必须将此代码放在构造函数中:

public class staticvars {

    int[] Grokk = new int[5];

    public staticvars() {
        Grokk[0] = 12;
    }
}