黑马程序员技术交流社区

标题: 空指针异常的原理是什么? [打印本页]

作者: 陌路人生    时间: 2016-3-28 21:19
标题: 空指针异常的原理是什么?
空指针异常的原理是什么?{:2_30:}
作者: zx7750462    时间: 2016-3-28 21:33
最简单的说法就是你用null来调用方法,比如说你创建一个对象Student s=null;,然后你还用s来调用它的方法,那么就会空指针异常,因为你指向的对象已经不存在了.
作者: hkh3321313    时间: 2016-3-28 21:37
实际上就是变量里没有地址值,却要强行用这个变量指向一个对象,没有地址当然找不到对应的东西啦,然后就报错了
作者: 蟑螂小强    时间: 2016-3-28 21:43
一般情况下,是在数组的循环中错误的把index的值弄混淆...比如:int[] arr = new int[5];         当调用arr[5]时就会出错,因为数组的索引从0开始,第5个元素是arr[4]
作者: 2016coco    时间: 2016-3-28 21:48
ok   学习了
作者: 木丶子李    时间: 2016-3-28 22:02
学习了     感谢
作者: 卢磊磊    时间: 2016-3-28 22:04
把指针可以当作是一个对象或是参数,在一个方法调用的时候,这个对象或参数是null,就会出现空指针异常
作者: zxw    时间: 2016-3-28 22:17
null是指空,什么都没有的意思,不会为对象开辟内存空间的。你要是调用一个值为null的对象的成员,它没有指向任何内存。没有东西,你还让它实现一些东西。这是做不到的
作者: luomoss    时间: 2016-3-28 22:43
1.所谓的指针,就是java中的对象的引用。比如String s;这个s就是指针。
2.所谓的空指针,就是指针的内容为空,比如上面的s,如果令它指向null,就是空指针。
3.所谓的空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法。比如上面的s假如为null,你还要用s的方法,比如s.equals( String x);那么就会产生空指针异常。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2