第五章:面向对象基础——对象数组。

本章目标

  • 掌握对象数组的使用
  • 掌握对象数组的静态及动态初始化

1、具体内容

数组本身是属于引用数据类型的:而类本身也属于引用数据类型的,所以此时不管是引用还是基本数据类型都可以使用数组的格式进行声明并引用。

数组格式: 数据类型 数组名称 [] = new 数据类型[长度];

class Person{
    private String name ;       // 姓名属性
    public Person(String name){ // 通过构造方法设置内容
        this.name = name ;      // 为姓名赋值
    }
    public String getName(){
        return this.name ;      // 取得姓名
    }
};
public class ObjectArrayDemo01{
    public static void main(String args[]){
        // 类名称 数组名称[] = new 类名称[长度]
        Person per[] = new Person[3] ;  // 开辟了三个空间大小的数组
        System.out.println("============== 数组声明 =================") ;
        // 对象数组初始化之前,每一个元素都是默认值
        for(int x=0;x<per.length;x++){  // 循环输出
            System.out.print(per[x] + "、") ;    // 因为只是开辟好了空间,所以都是默认值
        }
        // 分别为数组中的每个元素初始化,每一个都是对象,都需要单独实例化  
        per[0] = new Person("张三") ; // 实例化第一个元素
        per[1] = new Person("李四") ; // 实例化第二个元素
        per[2] = new Person("王五") ; // 实例化第三个元素
        System.out.println("\n============== 对象实例化 =================") ;
        for(int x=0;x<per.length;x++){  // 循环输出
            System.out.print(per[x].getName() + "、") ;  // 此时,已经实例化完成了,所以会直接打印出姓名
        }
    }
};
输出结果:
============== 数组声明=================
null、null、null
============== 对象实例化 =================
张三
李四
王五

数组在使用的时候分诶静态初始化和动态初始化,对象数组也一样。

class Person{
    private String name ;       // 姓名属性
    public Person(String name){ // 通过构造方法设置内容
        this.name = name ;      // 为姓名赋值
    }
    public String getName(){
        return this.name ;      // 取得姓名
    }
};
public class ObjectArrayDemo02{
    public static void main(String args[]){
        // 声明一个对象数组,里面有三个对象,使用静态初始化方式完成
        Person per[] = {new Person("张三"),new Person("李四"),new Person("王五")} ;
        System.out.println("\n============== 数组输出 =================") ;
        for(int x=0;x<per.length;x++){  // 循环输出
            System.out.print(per[x].getName() + "、") ;  // 此时,已经实例化完成了,所以会直接打印出姓名
        }
    }
};
============== 数组输出 =================
张三、李四、王五、

对象数组是到处可见的,从开始接触Java程序就已经存在了对象数组。(String args[])

2、总结

对象数组中的每个元素必须单独实例化,否则内容就是null。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,885评论 6 13
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 13,149评论 1 51
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,733评论 19 139
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 5,515评论 4 12
  • 星期一就要考试啦!我准备早点睡觉,养足精神,迎接星期一的考试。 星期一早上,我迷迷糊糊的醒来。刚起...
    LXY李星毅阅读 1,339评论 0 2