关于数组对象的一个基础问题!
有个问题请教各位大虾,就是关于array object 的问题,请各位大虾告诉我是怎么回事!
比如说有一个类定义
Weetle {}
在另一个函数里面有一个关于它的数组定义是这样的
Weetle[] a=new Weetle[5];
a就是这个数组对象的引用,我不太知道的是在heap里面a指向的数组对象里面存的内容是什么,如果是把五个对象对具体定义了,是不是存在着这几个数组成员的地址啊,请知道的大虾们告诉我一下,多谢!
问题点数:20、回复次数:9Top
1 楼Ryo_Hazuki(困了)回复于 2006-05-02 11:17:11 得分 0
Weetle[] a=new Weetle[5];
都是空对象还要分别赋值Top
2 楼zouxinfox(Read the source,Use the force)回复于 2006-05-02 12:45:24 得分 0
Weetle[] a=new Weetle[5]在内存中为开辟了空间,可以理解为存放的是地址。但是需要再为每个元素初始化一次才可以使用,否则会抛出空指针异常。Top
3 楼walkersky(行走天下)回复于 2006-05-02 12:58:58 得分 0
to Ryo_Hazuki:当然是把五个对象分别负了值以后的情况了!是怎么样的呢!Top
4 楼YidingHe(机枪兵)回复于 2006-05-02 15:49:58 得分 0
赋了值之后,对它们的操作就变成对它们所指向的对象的操作了。Top
5 楼walkersky(行走天下)回复于 2006-05-03 11:13:08 得分 0
to YidingHe:你说的它们是指的什么,能不能说得具体一点!多谢!Top
6 楼ciahi(爪哇乞丐)回复于 2006-05-03 20:37:39 得分 0
对a[i]的操作就是对相应的对象的操作了Top
7 楼syhan(藏书人)回复于 2006-05-03 23:32:14 得分 0
也就是说你就可以对a[i].dosomething()了,呵呵Top
8 楼gyang(我是谁?)回复于 2006-05-04 09:45:47 得分 0
5个引用而已,5个引用均为null,尚未指向任何对象。Top
9 楼davidong369(冬野)回复于 2006-05-04 10:42:00 得分 0
Weetle[] a=new Weetle[5];
它只是创建了一个对象引用,即a为weetle的一个实例,拥有weetle的属性和方法,在内存中占有一定的空间,但并未指向某个对象,需要对a[i]分别进行赋值,否则回抛出空指针异常。
不知道说的对不对,如有误导,望指出!Top




