首页 新闻 会员 周边

空指针的对程序有什么影响

0
悬赏园豆:50 [待解决问题]

请问大神,空指针的对程序有什么影响,是bug吗?

cheyemaoyao的主页 cheyemaoyao | 初学一级 | 园豆:30
提问于:2016-03-28 08:46
< >
分享
所有回答(6)
0

无论它是不是bug、总归是要将其避免掉的。比如你去网上看个电影。点个链接。直接出来一段红色字母...there is nullPoint...

用户体验很差的、将其捕获抛出来就好了

Ctrl` | 园豆:3317 (老鸟四级) | 2016-03-28 10:08
0

你要是不用,就只是占用一丢丢内存

你要是使用,就会报null的错误之类的问题

刘宏玺 | 园豆:14020 (专家六级) | 2016-03-28 10:23
0

只要不报异常,就可以

需要格局 | 园豆:2145 (老鸟四级) | 2016-03-28 13:47
0

参考:

http://www.cnblogs.com/fly1988happy/archive/2012/04/16/2452021.html

http://www.cnblogs.com/losesea/archive/2012/11/16/2772590.html

小刺猬001 | 园豆:660 (小虾三级) | 2016-03-28 15:05
0

空指针(C语言)介绍 http://www.doczj.com/doc/316af72c58fafab069dc02b3.html

椰子树 | 园豆:226 (菜鸟二级) | 2016-03-29 11:31
0

这个问题挺怪的。

按我的理解说一下:

我们通常的套路是,声明一个对象,对象实例化,对象.方法().声明就是:告诉电脑有个杯子,那我们只知道杯子的抽象意义是装水,具体什么颜色,容积多大,造型什么样都不知道,如果这个时候我问你杯子的容积有多大,你当然不能回答,我没告诉你是哪个杯子没告诉你是奶瓶还是保温杯,你当然不能告诉我杯子的容积有多大。实例化,就是告诉电脑杯子具体长什么样子,比如杯子变量=重新买一个杯子。那么这样,就有一个具体的杯子来对应了,这样我再问你杯子的容积有多大,你就可以告诉我了。

举例:

//报错:

杯子类 杯子变量;       Cup myCup;

杯子变量.得到容积();  myCup.getVolume();

//正常:

杯子类 杯子变量;       Cup myCup;

myCup = new Cup();

//相当于去新买了一个,我们通常声明定义一块儿写就是:Cup myCup= new Cup();

杯子变量.得到容积();  myCup.getVolume();

 

开始我还觉得问题怪。。。现在不觉得怪了,因为只有当对象.方法的时候,才会空指针。否则,都还无法构成空指针,只能说是,我声明了一个对象,开始以为用的到,后来根本没用到,只不过多分配一些空间罢了。但是并不会发生问题,因为这个时候它还不能被叫做空指针,只是声明了一个变量没有赋值而已。所以空指针只要出现就会出问题。

对于java来讲,如果不给实例化,就会报nullpointerexception。也就这样了,不会有什么别的风险。调调bug仅此而已。运行到这儿,跑不了呗。(所以我认为这是个bug,对程序的影响就是跑不通,当执行到指定的位置,因为没有指定的对象,解决方案就是为对象实例化)

木鸟飞 | 园豆:219 (菜鸟二级) | 2016-03-29 19:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册