java - 在主类或主方法中声明数组有什么区别?

标签 java arrays

我一直在尝试像教程中所说的那样在 Java 中声明一个数组,但收到了一个错误。这是我的代码:

public class ArrayExample {

   private static final int SIZE = 15;

   /*   this works   */
   int[] arrayOfInt = new int[SIZE];

   /*  but this doesn't work, says "cannot find symbol"  */
   int[] arrOfInt;
   arrOfInt = new int[SIZE];


   public static void main(String[] args) {

      /*  but here it works; why? what's the difference? */
      int[] arrOfInt;
      arrOfInt = new int[SIZE];
   }
}

我在教程中找不到这种差异的解释。为什么第二个声明不起作用,但 main 方法中的第三个声明起作用?

最佳答案

您不能将赋值语句编写为类定义的一部分。

要么使用第一种方法(首选),要么将赋值移动到构造函数中(在这种情况下没有必要,但如果在构造对象之前不知道大小,则可能会很有用 - 然后您可以将其传递为构造函数的参数)。

int[] arrOfInt;

public ArrayExample()
{
    arrOfInt = new int[SIZE];
}

关于java - 在主类或主方法中声明数组有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10573292/

相关文章:

java - 是否有等效的 verifyZeroInteractions() 用于验证与模拟对象交互的确切数量?

Java小程序似乎有双重提示

arrays - 如何交换项目以将一个列表转换为另一个列表

java - 获取数独可能的解决方案 方法

java - Glassfish 2.1 CLIENT-CERT 如何获取 Principal

java - 检查链接的 URL 状态代码时,无法将 HttpResponseCode 错误解析为类型

arrays - Swift - 为 UITableViewController 读取相对复杂的数组

javascript - 如何获取数组值,其中键(即数字)是下一个最低值?

python - 在 Python 中计算数组的余弦值

java - 如何调用驻留在不同项目中的方法?