Java笔记 将对象储存在数组中

如果要同时创建好几个同一个类的对象,可以储存在数组中

// 定义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的时候写大小

猜你喜欢

转载自blog.csdn.net/yogur_father/article/details/108741306
今日推荐