java 这样在一个类中定义一个对象数组为什么会出错
2个回答
展开全部
首先纠正你一个错误,第二句(第二张图第六行)应该是
a[0] = new Student();
而不是
Student[0] = new Student();
因为你定义的数组名字叫 a 而不是 Student。
但是,你的主要错误并不只在这里。而是因为在 Java 中,在一个类的方法外只能定义这个类的成员及其他方法,而不能进行任何对这个类成员的操作,包括修改成员。这里你使用
Student[] a = new Student[3];
来定义了一个长度为 3 的数组 a 作为 www 类的成员,这是可以的。但是随后你使用
a[0] = new Student();
初始化 a 中的对象,这就相当于在一个方法的外部来更改类的成员。这种操作是不允许的。所以你有如下两种改法:
第一种是创建一个方法(比如说类的构造函数或者 main 函数),然后把第二句放在这个方法里。
public class Www {
Student[] a = new Student[3];
public Www() {
a[0] = new Student();
}
}
第二种是将第二句用大括号括起来。
public class Www {
Student[] a = new Student[3];
{
a[0] = new Student();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询