空指针

空指针

https://img1.sycdn.imooc.com//climg/62fefa2409780a9921540767.jpg

老师空指针是只声明了一个对象,此时对象为null没有进行赋值 初始化

用此时声明对象去调用,对象所对应类的内容会报错这就是空指针吗?

简单就是 声明对象,此时对象值为null,没有进行初始化也就是地址导入=new 类名这一步,此时在去调用类的内容是找不到的,因为并没有导入new这一步,所以是没有地址或内容


还有两个问题

1 ,=new 类名(方法名)导入此时导入的究竟是地址还是值;

2,空指针只会出现在数组,还是有几种情况?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小黑 2022-08-19 11:50:51

同学你好,同学的理解是正确的,是会报空指针异常

1. “=new 类名(方法名)导入此时导入的究竟是地址还是值;”,通过new来创建对象,是在内存中开辟一段空间,空间具有唯一的地址,对象指向内存地址。例如: Student student=new Student();,对象student指向开辟的内存地址;

2.任意引用类型都可能会出现空指针异常。

祝学习愉快!

  • 提问者 不惧岁月 #1

    student students=new  student
    student studens是创建一个对象名字只是一个名字而已,不过有值是null没有用而已
    =new student这一步是开辟一处空间并把此空间交给了students ,我想问这开辟空间怎么和所创建对象的类进行联系上的,是因为用类创建的对象所以可以用对象调用它的内容?主要是这个疑问
    创建的空间只是存储用对象调用时所产生赋值,变量,等资料

    2022-08-19 18:53:07
  • 好帮手慕小黑 回复 提问者 不惧岁月 #2

    同学你好,

    1. 变量里面存储了地址值,通过地址可以寻址到对应的内存,内存中存储了对象的具体数据,局部变量是没有默认值的,studens的值不是null;

    2.Student students=new Student();中students是一个对象名,因为students对象名指向new Student();所开辟的内存地址;,所以可以通过对象名(students)去访问属性和调用方法;

    3.new Student();所创建的内存地址,可以存放属性的值

    祝学习愉快!


    2022-08-20 13:53:35
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师