如果要同时创建好几个同一个类的对象,可以储存在数组中
// 定义Student类,继承Person
class Student extends Person
{
String Grade;
// Student构造函数
Student()
{
ID = 0;
Name = "";
Adress = "";
Phone_Number = 0;
Email = "";
Grade = "";
}
// 设置Student类的成员属性
public void SetStudent(int id, String name, String adress, int phone_number, String email, String grade)
{
ID = id;
Name = name;
Adress = adress;
Phone_Number = phone_number;
Email= email;
Grade = grade;
}
// 输出信息
public String toString()
{
return ("Student" + " " + ID + " " + Name);
}
}
// 定义主类
class School_System
{
public static void main(String args[])
{
Student Stu[] = new Student[8]; // 分配8个空间的Student类
for(int i = 0; i < 8; i++)
{
int id;
String name;
String adress;
int phone_number;
String email;
String grade;
Stu[i] = new Student(); // 给每个对象新分配内存,不然会出现空指针的报错
Scanner R = new Scanner(System.in); // 输入属性
id = R.nextInt();
name = R.next();
adress = R.next();
phone_number = R.nextInt();
email = R.next();
grade = R.next();
Stu[i].SetStudent(id, name, adress, phone_number, email, grade); // 设置属性
System.out.println(Stu[i].toString()); // 调用每个对象的toString函数
}
}
}
其中主类中最主要的语句Student Stu[] = new Student[8];
是创建了一个数组将8个对象储存进去
但是在给对象实例化的时候,还要给每个对象分配内存 Stu[i] = new Student();
不重新分配内存的话,会报错,显示这个对象是空指针
如果是一个数组中要储存不同类的对象,这个数组要声明为父类
Person Per[] = new Person[8]
Student Stu = new Student();
Staff sta = new Staff();
Per[0] = Stu;
Per[1] - sta;
数组的声明
不能直接写数组的大小
但可以在new的时候写大小