当前位置首页 > 百科> 正文

NullPointerException

2019-07-15 16:39:39 百科
NullPointerException

NullPointerException

NullPointerException是java.lang.NullPointerException的简称,是Java语言中的一个异常类,位于java.lang包中,父类是java.lang.RuntimeException。该异常在源程式中可以不进行捕获和处理。

基本介绍

  • 中文名:空指针异常
  • 外文名:NullPointerException
  • 範畴:Java语言
  • 父类:java.lang.RuntimeException

简介

当应用程式试图在需要对象的地方使用 null 时,抛出该异常。这种情况包括:
  • 调用 null 对象的实例方法。
  • 访问或修改 null 对象的栏位。
  • 如果一个数组为null,试图用属性length获得其长度时。
  • 如果一个数组为null,试图访问或修改其中某个元素时。
  • 在需要抛出一个异常对象,而该对象为 null 时。
应用程式将会抛出NullPointerException类的实例,表明其他对 null 对象的非法使用。

示例程式

以下给出上面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    }}
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net