java.lang.NullPointerException异常 java.lang.NullPointerException异常问题解决方案
疯狂一世。 人气:0想了解java.lang.NullPointerException异常问题解决方案的相关内容吗,疯狂一世。在本文为您仔细讲解java.lang.NullPointerException异常的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java.lang.NullPointerException异常,java.lang.NullPointerException异常处理,下面大家一起来学习吧。
java.lang.NullPointerException异常原因是因为创建了一个引用类型的变量却没有指向任何对象而又去通过这个引用类型变量加点的形式去访问非静态的方法及属性。
给出三种情况,
第一种情况,在启动类中定义了引用类型变量,赋值为空:
/** * 引用类型变量没有指向对象所引起的空指针异常 * @author Superhero * @version 2018年12月16日上午10:32:43 */ //图书类 class Books { private String name; private String author; private double price; public Books() { } public Books(String name, String author, double price) { this.name = name; this.author = author; this.price = price; } public String getName() { return name; } public String getAuthor() { return author; } public double getPrice() { return price; } }
//启动类 public class NullPointerExceptionTest1 { public static void main(String[] args) { Books book=null; //下面一行代码会报指针异常错误: System.out.println("name:"+book.getName()+", author:"+book.getAuthor()+", price:"+book.getPrice()); } }
第二种情况:创建了一个引用类型的数组,却没有给数组元素指向对象而调用了。
public class NullPointerExceptionTest2 { public static void main(String[] args) { Books[] books = new Books[3]; books[0] = new Books("NullPointerException","Superhero",88.8); //books[1],book[2]没有指向对象,所以也报空指针异常 for(Books book : books) System.out.println("name:"+book.getName()+", author:"+book.getAuthor()+", price:"+book.getPrice()); } }
第三种情况是在类中定义了引用类型属性,却没有指向对象而调用了非静态的方法或属性,和第一种情况类似,这里就不给代码了。
加载全部内容