黑马程序员技术交流社区

标题: 指针 [打印本页]

作者: 征服    时间: 2014-4-5 22:28
标题: 指针
本帖最后由 征服 于 2014-4-6 10:48 编辑

我记得老师说在java中没有指针,怎么运行程序出错会报出空指针异常,这是怎么回事?还有指针到底该怎么使用,请高手指点,谢谢!
作者: 帅哥哥    时间: 2014-4-5 22:48
Java里面说的指针吧,其实就是一个对象的引用,比如有一个类
class Demo{ void function(){...} }
然后你来一句 Demo d = new Demo();
这里等号右边的 new Demo() 是在堆中创建了一个对象,而左边的 d 就是一个指针变量,在栈中,里面放的是对象new Demo() 的首地址。你可以这么调用对象里面的函数 d.function();
当你让 d 指向空时, 也就是 d = null; 然后你在用 d 调用函数 functuin() 时,就会出现空指针异常的错误。
作者: y200745    时间: 2014-4-6 01:04
所谓的指针,就是java中的对象的引用。比如String s;这个s就是指针。
2.所谓的空指针,就是指针的内容为空,比如上面的s,如果令它指向null,就是空指针。
3.所谓的空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法。比如上面的s假如为null,你还要用s的方法,比如s.equals( String x);那么就会产生空指针异常。
作者: haixian    时间: 2014-4-6 08:51
java 空指针异常表示java引用指向的内存地址为空。java的引用和指针的基本性质是一样的,所以才这么叫吧
作者: 征服    时间: 2014-4-7 16:35
谢谢大家!




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