《Java中对象数组初始化时注意的问题》由会员分享,可在线阅读,更多相关《Java中对象数组初始化时注意的问题(2页珍藏版)》请在金锄头文库上搜索。
1、文档供参考,可复制、编制,期待您的好评与关注! Java中对象数组初始化时注意的问题2008-07-06 11:08今天上午在实验室写程序时,在对对象数组的初始化发现了问题。经查找资料终于解决了问题。问题如下:class FileStructint intPara;FileStruct()intPara=0;public void setintPara(int i)intPara=i;public int getintPara()return intPara;class Readpublic void main(String args)FileStruct fs=new FileStruct1
2、0;for(int i=0;i10;i+)System.out.println(fsi.getintPara);此时程序会抛出异常:java.lang.NullPointerException在以上程序中已存在两个错误:1.对数组的初始化工作没有结束 2.在类FileStruct中没有将构造器函数公有化错误原因:1. 在Java中对非基本数据初始化时,必须使用new。在使用new创建数组后,此时数组还是一个引用数组。只有再创建新的对象,并把对象赋值给数组引用,到此初始化结束。2. 在以上程序中如果再使用new创建对象对数组引用赋值,仍会抛出异常:The constructor FileStru
3、ct() is not visible基于此,以上程序应改为:class FileStructint intPara;public FileStruct()intPara=0;public void setintPara(int i)intPara=i;public int getintPara()return intPara;class Readpublic void main(String args)FileStruct fs=new FileStruct10;for(int j=0;j10;j+)fsj=new FileStruct();for(int i=0;i10;i+)System.out.println(fsi.getintPara); /