首先纠正你一个错误,第二句(第二张图第六行)应该是
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 {第二种是将第二句用大括号括起来。
真是谢谢 我还想问一下
类的属性在定义的时候直接赋值算是方法外更改成员吗?
第二种方法的大括号是什么意思,作用是什么?
谢谢
超出字数限制,只能截图给你了。