声明数组变量

时间:2009-12-31 20:06:48

标签: java

嘿伙计们,问题出了问题。

问题:为变量人写一个声明,可以用来引用Person类型的对象数组

我的回答:

public people[];
people = new Person [100];

但我收到一个错误,说这是错误的。我做错了什么?

PS。我也试过public people[] = new Person [100]

我收到的错误是:

Main.java:5: <identifier> expected
public people[];
               ^

Main.java:6: <identifier> expected
people = new Person [100];
       ^

2 errors

输出应该是:如果它不正确,它将不会编译

这是实际产生的:线程“main”中的异常java.lang.NoClassDefFoundError:Main`

5 个答案:

答案 0 :(得分:10)

public Person[] people = new Person[100];
  • publicaccess modifier;
  • Person[]Person;
  • 类型的数组
  • people是将引用保存到上述数组的变量的名称;
  • new Person[100]分配一个新的Person类型数组,最多可存储100 Person个。

答案 1 :(得分:2)

所有java变量必须指定其类型。

Person[] people = new Person [100];

您可以为变量指定限定符。如:

final Person[] people = new Person [100]; //applies to fields and variables
private Person[] people = new Person [100];  //applies to fields only
private static volatile Person[] people = new Person [100]; //applies to fields only

答案 2 :(得分:1)

我认为这句话应该是:

Person people[];
people = new Person[100];

.OR。

Person people[] = new Person[100];

因为你的people变量属于Person类型,你应该这样声明。

答案 3 :(得分:1)

实际声明必须声明变量的名称及其类型

Person[] people;

(变量名为“people”,其类型为“Person对象数组”。确保在某处定义了Person!)

数组创建(非声明)实际上创建了一个给定大小的数组:

people = new Person[100];

我认为你可能已经因为组合表达的重复性而被抛弃了:

Person[] people = new Person[100];

...您指定两次类型。

答案 4 :(得分:1)

Person [] people;
people = new Person[100];

您的代码几乎是正确的(您只是忘了提供数组的类型,如上所示),但请确保您还定义了一个名为Person的类。您可以向项目中添加一个新类,并将其留空(这足以编译您的测试代码)。

public class Person {

}