欢迎来到天天文库
浏览记录
ID:37852133
大小:14.96 KB
页数:3页
时间:2019-06-01
《Java中对象数组初始化时注意的问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java中对象数组初始化时注意的问题2008-07-0611:08今天上午在实验室写程序时,在对对象数组的初始化发现了问题。经查找资料终于解决了问题。问题如下:classFileStruct{intintPara;FileStruct(){intPara=0;}publicvoidsetintPara(inti){intPara=i;}publicintgetintPara(){returnintPara;}}classRead{publicvoidmain(String[]args){FileStruct[]fs=newFileStruct[10];for(inti=0;i<10;
2、i++)System.out.println(fs[i].getintPara);}此时程序会抛出异常:java.lang.NullPointerException在以上程序中已存在两个错误:1.对数组的初始化工作没有结束2.在类FileStruct中没有将构造器函数公有化错误原因:1.在Java中对非基本数据初始化时,必须使用new。在使用new创建数组后,此时数组还是一个引用数组。只有再创建新的对象,并把对象赋值给数组引用,到此初始化结束。2.在以上程序中如果再使用new创建对象对数组引用赋值,仍会抛出异常:TheconstructorFileStruct()isnotvisib
3、le基于此,以上程序应改为:classFileStruct{intintPara;publicFileStruct(){intPara=0;}publicvoidsetintPara(inti){intPara=i;}publicintgetintPara(){returnintPara;}}classRead{publicvoidmain(String[]args){FileStruct[]fs=newFileStruct[10];for(intj=0;j<10;j++)fs[j]=newFileStruct();for(inti=0;i<10;i++)System.out.pri
4、ntln(fs[i].getintPara);}
此文档下载收益归作者所有