永发信息网

java中什么是空指向异常?怎么编写的代码会产生空指向异常,能举个例子么?谢谢

答案:6  悬赏:40  手机版
解决时间 2021-03-26 12:04
java中什么是空指向异常?怎么编写的代码会产生空指向异常,能举个例子么?谢谢
最佳答案
空指针异常有很多;
一个类A 如果没有new A()就是说没有实例化
然后调用A里的方法a() 这时会报空指针异常,因为没有实例化类A , 所有A.a()中左边的A不存在,就报空指针异常
全部回答
比如说:people类 有属性 id、name
String name=people.getName();
当people为null时,就会出现空指针异常
1.类未实例化,直接引用成员变量或函数;
2.类实例被置为null后,还引用成员变量或函数
空指针就是你使用的数据没有初始化::
1、你没有初始化
2、java也没有默认的初始化
当你使用这些数据的时候,就会包空指针
例如有类User,有字段name
User user;定义了但是没有初始化
String name = user.getName();这里就会报user的空指针
空表示没有,对吧,在java 中叫做 null
在实际生活中,一个不存在的东西(object,对象)做了一件事情,是不是很可怕,这就是异常
同样的,一个空对象(null) 调用了一个方法,你说会不会报错,那肯定会报空指针异常
凡是“.”后面的东西都是方法或者变量吧,如果前面调用这些方法或者变量的 对象为空,就会发生空指针异常。
即,只要程序中有 null.xxx 或者 null.xxx() 都会 NullPointerException 不管是没有初始化还是其它情况,只要某个对象变成了 null ,就不能再调用其它方法或者变量了
空指针异常,意思基本上是,你使用的引用,指向了一个为空的地址(即并非指向一个具体对象)。
首先解释一下,什么是引用。
比如说String a = "b";这句话。a是一个引用,“b”则是一个对象。两者关系可理解为你的名字,和具体你这个人。
但我们想对某个对象进行具体操作的时候,往往都是通过其引用的操作来进行的;而如果这个引用指向了一个空值,就会产生空指针异常。
比如
List a;
a.add("aaa");
因为这里a并没有真正的意义,他仅仅是一个空壳。
必须是List a = new ArrayList a;之类的,才有用处。
当然空指针异常可能出现的原因非常多,但大多都是因为代码不严谨造成的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯