java对类的成员数组变量引用

img


这么写结果是个null

img


这么写又有地址,为什么这种错误的写法还能有地址呢(问题1)

img


虽然有地址,但是,数组又没有内容,报错了

重新new了一个数组之后又不会报错,有内容了,但是地址又变了,可以地址不变,而改变数组,让数组有效吗?(问题2)

img

第一个问题是 因为你没有给数组赋值 数据下标0的位置没有值 所以他告诉你数组越界了
第二个问题是 你重新赋值后因为值改变了需要重新分配内存所以会改变地址
实际上内存地址对java来作用不大

java使用new实例化对象。
只声明不初始化,所以为null,
使用a去初始化,a默认为0,也就是这个数组的长度为0,所以报错了

你可以参考下这篇文章:JAVA类作为成员变量类型

new了不就有空间了么,有内容输出很正常啊