空指针错误

// InitArray.java
// initializing an array with a declaration
package test;


public class NullPointerArrayExample
{

/**
* @param args
*/
public static void main(String[] args)
{
MyClass[] arr=new MyClass[10];
for(int i = 0;i < arr.length;i++)
arr[i] = new MyClass();
System.out.println(arr[2].value);

// 分配内存并不代表着初始化
// MyClass是一个类,如果没有定义构造方法,仅凭父类的构造方法可能没有办法完成初始化,
// 只有int类型在分配内存时会自动赋值为0
// 每个数组元素都因该引用一个真实的对象,如果没有显式的把某个对象引用传递给数组元素,其值为NULL,这样就会引发空指针错误

//这是一个新手非常容易犯的错误,以为用new关键字为数组对象分配内存之后就可以直接引用数组元素对象

//想要引用一个数组元素对象,就必须显式得对数组元素用new关键字进行初始化,这样才能调用

}

}
class MyClass
{
public int value=1;
MyClass()
{
value = 1;
}
}

posted @ 2015-10-30 09:47  学计算机的人绝不认输  阅读(229)  评论(0编辑  收藏  举报