Rss & SiteMap

课外天地 李树青 http://www.njcie.com

李树青 论坛 南京 财经 课外天地
共1 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:对象数组的使用

1楼
admin 发表于:2006/2/26 21:41:53

正如一般类型的数组一样,对象数组也是一种常见的数组类型,如
cls[] carray=new cls[10];

但是要注意一个问题:此时的每个数组元素并不是类对象,而仅仅是类的引用变量,所以在上述定义数组的语句后不能直接使用数组元素来调用类对象成员,如:

类文件为:
public class cls
{
        public int val=0;
}

使用该类的程序为:
public class exec
{
        public static void main(String args[])
        {
                cls[] carray=new cls[10];
                
                System.out.println(carray[0].val);
        }
}

运行时报错为:
Exception in thread "main" java.lang.NullPointerException at exec.main(exec.java:7)
意思是引用变量没有指向对象变量,所以产生空指针异常。

所以,使用对象数组的完整写法是:
public class exec
{
        public static void main(String args[])
        {
                cls[] carray=new cls[10];
                
                for(int i=0;i<carray.length;i++)
                        carray=new cls();
                
                System.out.println(carray[0].val);
        }
}

注意:轻易不要使用对象数组创建数量很多的对象变量,因为对象变量一般都比较巨大,过多和不必要的使用显然增加了程序的处理负担。

[此贴子已经被作者于2010-12-12 07:42:19编辑过]
共1 条记录, 每页显示 10 条, 页签: [1]

Copyright ©2002 - 2016 课外天地.Net
Powered By Dvbbs Version 8.3.0
Processed in .01660 s, 2 queries.