黑马程序员技术交流社区
标题:
数组定义的问题
[打印本页]
作者:
罗雪梅
时间:
2012-10-21 10:54
标题:
数组定义的问题
本帖最后由 罗雪梅 于 2012-10-21 15:44 编辑
基本类型的数据定义就是 int [] a=new int[5];
那引用类型的数组我也这样定义的 Person [] p=new Person[5]; 但当我用的时候他总是在报空指针异常,难道引用类型数组不是这样定义的吗
使用的时候我是p
.setName("KKK");
我是使用中的问题还是定义中的问题呢
作者:
江苏孙浩
时间:
2012-10-21 11:10
个人理解:
当你定义一个Person[] p的时候获得的只是一个空引用
定义了Person [] p=new Person[5],这时获得的是一个引用,这个引用指向一个“数组”;但是这个数组的元素你没有指定,所以都是null,所以不可亦直接引用
如果int [] a=new int[5],这涉及基本类型存储方式和引用类类型存储的不同;同样这个定义,a指向一个数组。然而这个数组是int数组,你获得了5个存储空间,它们都直接存储int数据;对于Person [] p=new Person[5]你也获得了5个存储空间,但是它们存储的是指向Person的引用,并不是类Person的实例的存储空间。
作者:
ssx0101
时间:
2012-10-21 11:35
修改成这样:Person[] p=new Person[5];
Person p0=new Person;
Person p2=new Person;
Person p3=new Person;
Person p4=new Person;
p[0]=p0;
p[1]=p1;
p[2]=p2;
p[3]=p3;
p[4]=p4;
p[0].serName("KKK");
............
作者:
罗雪梅
时间:
2012-10-21 15:43
曹自祥 发表于 2012-10-21 11:35
修改成这样:Person[] p=new Person[5];
Person p0=new Person;
Pers ...
恩,正解谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2