数组声明显示main之外的错误

时间:2013-08-20 09:03:00

标签: java declaration

数组的相同类型的声明在main()之外时显示错误,但在main()时符合且没有错误:

public class Array {
    int arr1[];
    arr1 = new int[10]; // shows <identifier> expected error

    public static void main(String args[]){
        int arr2[];
        arr2 = new int[10];
    }
}

4 个答案:

答案 0 :(得分:0)

这可以在一行中完成,例如:

int arr1 = new int[10];

如果需要多个语句,则需要将代码放在方法,构造函数或初始化程序块中。

答案 1 :(得分:0)

如果要为 class 变量赋值,则应在定义时执行此操作

private int arr1 = new int[10];

或在方法内(例如'main')。

public class TestClass {
   // When you want to use the variable inside a static function, arr1 should be declared as static
   private static int arr1[] = new int[10];

   public static void main(String args[]) {
      arr1 = new int[10];
   }
}

阅读this了解类/成员变量基础知识。

答案 2 :(得分:0)

当你在单独的行中声明它时它不起作用,因为它结果是一个语句。只允许在静态块,方法和构造函数中使用语句。

这很好,因为它是字段声明

int a[]= {1,2,3};
int a[]=new int[]{1,3,4,5};

您可能希望使用对象访问这些对象,因为这些是非静态字段。

答案 3 :(得分:0)

在任何Java类中,第一部分是声明部分。用于声明对象。

  

它不包含任何指定操作的代码,例如   为变量赋值,进行数学运算等。

这里是初始化数组arr1

arr1 = new int[10];

在一个函数之外。如果你真的想要进行初始化,你可以这样做

int arr1 = new int[10];

在创建时初始化数组。否则,你可以在任何方法内初始化它。它不需要成为一个主要功能。

  

因为,函数是一组需要执行的代码   一个类是一组对象和相关的函数。

public class Array {
    int arr1[];

    public String anyFunction(){
        arr1 = new int[10];
    }
}

查看Here有关课程的详细信息。