Java为什么会抛空指针异常?

来源:百度知道 编辑:UC知道 时间:2024/09/20 07:31:59
不才问个问个问题,Java号称摒弃了C++的大部分漏洞,包括指针,为什么还经常抛出空指针异常?这个指针是从哪里来的?等同于地址引用吗?

说是摒弃了指针按我个人的理解这只是个说法
一样要对内存进行操作
其实还是一样的
没有给变量赋值
内存中就为NULL
抛出空也是正常的

假设你创建了个引用对象 但没给他指向任何对象 并且你还调用该引用对象执行了一些操作 这时候就会报空指针异常

就像String str;
没有赋值,就用str,str并没有在内存中被赋值,为null
等同于c++的引用

对 其实就是Null对象
Java所有对象都是引用的 说是摒弃了指针 确切来说应该是全都是指针。。。

比如一个String引用str,指向null,当你试图调用这个String的方法时,就报空指针异常

空指针说白了就是你取一个数据或者用到这个数据时,而这个数据的值是null
此时就会抛出NullpointException
导致错误的出现就是你没给这个数据赋上值