A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李玉仙 初级黑马   /  2018-8-28 11:30  /  779 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java中的一个类其实就是一个数据类型,因此对于我们自己所定义的类其实也就是一个数据类型,我们将这个类作为数组的数据类型,所产生的数组,就是对象数组.
只不过,对于该数组而言,保存不再是基本数据类型的数值,也不是引用数据类型String类型的数据,而是保存的自定义类的每个对象的地址值,每个地址值都是指向不同的对象.
对象数组与数组并无不同,也有两种初始化方式:
第一种是静态初始化,和数组的静态初始化一样;格式是:
数据类型[] 数组名 = {实例化对象1,实例化对象2,实例化对象3.....};
第二种是动态初始化,只指定长度,不指定内容,格式:
数据类型[] 数组名 = new 数据类型[长度];
不过,在这里,对象数组中的数据类型需要改变成我们自定义的数据类型,也就是自定义的类名称,然后对象数组的长度,就是具体实例化了多少个对象,就是对象数组.
举例:
定义一个Student类;
public class Student {
    private String name;    //定义成员变量姓名,年龄
    private int age;
    //定义无参构造方法
    public Student() {
    }
    //定义全参构造方法
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
    //定义setter 和 getter 方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

2.通过Student类创建该类的对象数组,并存进对象数组中
public class Demo01Student {

    public static void main(String[] args) {

        //根据Student类创建三个对象的对象数组
        Student[] stu = new Student[3];

        //创建三个实例化的对象,存进Student对象数组中
        Student stu1 = new Student("张三",23);
        Student stu2 = new Student("李四",24);
        Student stu3 = new Student("王五",25);
        
        //将每个对象的地址值存进对象数组中相应的索引位置
        stu[0] = stu1;
        stu[1] = stu2;
        stu[2] = stu3;
        
        /*另一种创建方式:直接将对象的地址值存进对象数组中
        stu[0] = new Student("赵六",26);
        stu[1] = new Student("张龙",27);
        stu[2] = new Student("赵虎",30);*/

        //静态开辟对象数组的方法
        Student[] stu0 = {new  Student("张三",23),new Student("李四         ",24),new  Student("王五",25)};

    }
}

在实例化Student类的对象的时候,有两种方式:一种是先创建实例化对象,然后存进对象数组中,另一种是直接实例化对象存进对象数组中.
以上分别是动态开辟对象数组和静态开辟对象数组,并存进对象数组的实例.

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马