A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陌路人生 中级黑马   /  2016-3-28 21:19  /  1682 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

空指针异常的原理是什么?{:2_30:}

8 个回复

倒序浏览
最简单的说法就是你用null来调用方法,比如说你创建一个对象Student s=null;,然后你还用s来调用它的方法,那么就会空指针异常,因为你指向的对象已经不存在了.
回复 使用道具 举报
hkh3321313 来自手机 中级黑马 2016-3-28 21:37:13
藤椅
实际上就是变量里没有地址值,却要强行用这个变量指向一个对象,没有地址当然找不到对应的东西啦,然后就报错了
回复 使用道具 举报
一般情况下,是在数组的循环中错误的把index的值弄混淆...比如:int[] arr = new int[5];         当调用arr[5]时就会出错,因为数组的索引从0开始,第5个元素是arr[4]
回复 使用道具 举报
ok   学习了
回复 使用道具 举报
学习了     感谢
回复 使用道具 举报
把指针可以当作是一个对象或是参数,在一个方法调用的时候,这个对象或参数是null,就会出现空指针异常
回复 使用道具 举报
zxw 中级黑马 2016-3-28 22:17:25
8#
null是指空,什么都没有的意思,不会为对象开辟内存空间的。你要是调用一个值为null的对象的成员,它没有指向任何内存。没有东西,你还让它实现一些东西。这是做不到的
回复 使用道具 举报
1.所谓的指针,就是java中的对象的引用。比如String s;这个s就是指针。
2.所谓的空指针,就是指针的内容为空,比如上面的s,如果令它指向null,就是空指针。
3.所谓的空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法。比如上面的s假如为null,你还要用s的方法,比如s.equals( String x);那么就会产生空指针异常。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马