JAVA对象数组的初始化方法
2009-10-14 23:49
465 查看
问题如下:
class FileStruct{
int intPara;
FileStruct(){
intPara=0;
}
public void setintPara(int i){
intPara=i;
}
public int getintPara(){
return intPara;
}
}
class Read{
public void main(String[] args){
FileStruct[] fs=new FileStruct[10];
for(int i=0;i<10;i++)
System.out.println(fs[i].getintPara);
}
此时程序会抛出异常:java.lang.NullPointerException
在以上程序中已存在两个错误:1.对数组的初始化工作没有结束 2.在类FileStruct中没有将构造器函数公有化
错误原因:1. 在Java中对非基本数据初始化时,必须使用new。在使用new创建数组后,此时数组还是一个引用数组。只有再创建新的对象,并把对象赋值给数组引用,到此初始化结束。
2. 在以上程序中如果再使用new创建对象对数组引用赋值,仍会抛出异常:The constructor FileStruct() is not visible
基于此,以上程序应改为:
class FileStruct{
int intPara;
public FileStruct(){
intPara=0;
}
public void setintPara(int i){
intPara=i;
}
public int getintPara(){
return intPara;
}
}
class Read{
public void main(String[] args){
FileStruct[] fs=new FileStruct[10];
for(int j=0;j<10;j++)
fs[j]=new FileStruct();
for(int i=0;i<10;i++)
System.out.println(fs[i].getintPara);
}
转载自http://hi.baidu.com/yzbug/blog/item/df6cd88b68935f17c9fc7a62.html
class FileStruct{
int intPara;
FileStruct(){
intPara=0;
}
public void setintPara(int i){
intPara=i;
}
public int getintPara(){
return intPara;
}
}
class Read{
public void main(String[] args){
FileStruct[] fs=new FileStruct[10];
for(int i=0;i<10;i++)
System.out.println(fs[i].getintPara);
}
此时程序会抛出异常:java.lang.NullPointerException
在以上程序中已存在两个错误:1.对数组的初始化工作没有结束 2.在类FileStruct中没有将构造器函数公有化
错误原因:1. 在Java中对非基本数据初始化时,必须使用new。在使用new创建数组后,此时数组还是一个引用数组。只有再创建新的对象,并把对象赋值给数组引用,到此初始化结束。
2. 在以上程序中如果再使用new创建对象对数组引用赋值,仍会抛出异常:The constructor FileStruct() is not visible
基于此,以上程序应改为:
class FileStruct{
int intPara;
public FileStruct(){
intPara=0;
}
public void setintPara(int i){
intPara=i;
}
public int getintPara(){
return intPara;
}
}
class Read{
public void main(String[] args){
FileStruct[] fs=new FileStruct[10];
for(int j=0;j<10;j++)
fs[j]=new FileStruct();
for(int i=0;i<10;i++)
System.out.println(fs[i].getintPara);
}
转载自http://hi.baidu.com/yzbug/blog/item/df6cd88b68935f17c9fc7a62.html
相关文章推荐
- JAVA对象数组的初始化方法
- JAVA对象数组的初始化方法
- 嵌入式软件开发培训笔记——Java第三天(方法重载、对象的构造与初始化过程分析、封装等)
- Java获取json数组对象的方法
- JAVA中初始化对象数组
- java笔记-关于继承、对象数组初始化、foreach循环
- java判断对象是否为数组 并且取得数组的值 --- 用instanceof或则isArray() 方法
- Java对象数组初始化与NullPointerException问题
- java对象数组的声明和初始化
- 【java数组详解(包括数据的初始化、比较、排序、重要方法)】
- java_数组声明、创建、初始化,对象数组
- Java面向对象02-方法的签名,重载,构造方法和引用类型数组
- Java对象数组初始化与NullPointerException问题
- java中从一个对象数组中删除元素和判断对象数组存了几个元素的方法
- js接收并转化Java中的数组对象的方法
- c++类对象数组初始化的几种方法
- JNI学习笔记:(1)开篇(2)本地代码访问Java代码 (3)本地方法取得Java属性/调用java方法 (4)本地代码创建Java对象(包括javaString) (5) 本地方法处理java数组
- java中把对象转化为byte数组的方法
- java中数组的3中初始化方法
- java_数组声明、创建、初始化,对象数组