- 所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中一定要清楚一点:数组一定要先开辟空间,但是因为其是引用数据类型,所以数组里面的每一个对象都是null值,则在使用的时候数组中的每一个对象必须分别进行实例化操作。
对象数组的声明
先定义,再开辟空间
![](https://i-blog.csdnimg.cn/blog_migrate/98cd4c07538cb75a96755cb5eee15115.png)
定义并开辟数组
![](https://i-blog.csdnimg.cn/blog_migrate/0493d3cf169ac3d6e219078c10109de3.png)
在声明对象数组后 ,必须对每个数组成员进行实例化话 才能直接使用,否则报空指针异常!
动态初始化
先声明数组,然后对数组中的每一个对象必须分别进行实例化操作。
![](https://i-blog.csdnimg.cn/blog_migrate/775f5c7fd34503f86e159332d7aaf9e2.png)
执行结果如下
![](https://i-blog.csdnimg.cn/blog_migrate/eb39553555d1917c6d7d711c4e8e61fe.png)
下面是对上面对象数组初始化操作的内存图解:
![](https://i-blog.csdnimg.cn/blog_migrate/ee15da9fb74d10126aa498248448cb00.png)
静态初始化
![](https://i-blog.csdnimg.cn/blog_migrate/33227d8dafb4dd9f7220a5a640938a67.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0c027b340fdaaf6d873946f94278cd6e.png)
执行结果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/a9eb6bbfd3f2552414eae2c0c2435cd4.png)