- 中文名
- 空指针异常
- 外文名
- NullPointerException
- 范 畴
- Java语言
- 父 类
- java.lang.RuntimeException
NullPointerException简介
编辑当应用程序试图在需要对象的地方使用 null 时,抛出该异常。这种情况包括:
- 调用 null 对象的实例方法。
- 访问或修改 null 对象的字段。
- 如果一个数组为null,试图用属性length获得其长度时。
- 如果一个数组为null,试图访问或修改其中某个元素时。
- 在需要抛出一个异常对象,而该对象为 null 时。
- 应用程序将会抛出NullPointerException类的实例,表明其他对 null 对象的非法使用。
NullPointerException示例程序
编辑以下给出上面5种情况的示例程序。
(1)调用 null 对象的实例方法。
class Point {
public int x, y;
public int getX() {
return x;
}
}
public class TestNullPointerException {
static Point p1;
public static void main(String args[]){
p1.getX(); // 此处抛出NullPointerException
}
}
(2)访问或修改 null 对象的字段。
class Point {
public int x, y;
public int getX() {
return x;
}
}
public class TestNullPointerException {
static Point p1;
public static void main(String args[]){
p1.x = 1; // 此处抛出NullPointerException
}
}
(3)如果一个数组为null,试图用属性length获得其长度时。
public class TestNullPointerException {
static int[] ia;
public static void main(String args[]){
System.out.println(ia.length); // 此处抛出NullPointerException
}
}
(4)如果一个数组为null,试图访问或修改其中某个元素时。
public class TestNullPointerException {
static int[] ia;
public static void main(String args[]){
ia[0] = 1; // 此处抛出NullPointerException
}
}
(5)在需要抛出一个异常对象,而该对象为 null 时。
class MyException extends RuntimeException {
}
public class TestNullPointerException {
static MyException e;
public static void main(String args[]){
throw e; // 此处抛出NullPointerException
}
}
- 参考资料
-
- 1. NullPointerException .Java Platform[引用日期2017-02-28]
词条标签: