自己写代码时遇到的问题

img

img

img

为什么对象数组要再new一次才能输出,不再new一次提示为空,而普通的对象变量new一次就可以输出了。
不好意思,发的是拍的照片,用电脑截图截这个好像发不了提问,提示违法词汇。

img


①呢是你创建了一个大小为4的数组,并没有给这个数组赋值,所以报了一个空指针异常
②呢是你把new Test() 赋值给了下标为test1[3],所以才会有值输出

对象数组中的元素都是对象, 这些对象 需要实例化才能使用,否则都是null, 使用就会报 空指针的问题

// 这里 只是 定义了 Test 对象数组,里面的元素未初始化,默认为null
Test[] test1 = new Test[4];  

// 直接使用 就会报空指针错误。 test1[3] = null
test1[3].name;

new Test[4]创建了4个类型为Test的空对象,你把那行新建对象的注释掉,肯定会报错呀。因为此时数组的对象都为空,而注释之前的代码新建了对象就不会为空