之前的案例没有讲到需要new,请问是有什么不一样吗?

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

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

2回答
好帮手慕阿慧 2020-11-22 09:56:15

同学你好,delivery直接默认是null,那么 调用set/get等方法时可能会报空指针异常,影响web运行。

例如:

http://img1.sycdn.imooc.com//climg/5fb9c4a2098ea75a05250648.jpg

为了避免此错误,建议同学对Delivery delivery属性进行实例化,如:

http://img1.sycdn.imooc.com//climg/5fb9c53b0932d3f604220191.jpg

好帮手慕小脸 2020-07-16 10:48:07

同学你好,这里是对其进行实例化是用来保证赋值成功的。简单理解:

1、作为引用对象,需要实例化后才能赋值,比如 在一阶段中,通过new 关键字实例化一个Animal对象,在内存中开辟了一块空间后,才能对这个实例化后的对象属性赋值,否则这个对象不存在,也就不能对这个对象属性赋值。

2、delivery作为一个引用类型的属性,默认值是null,需要通过new关键字实例化才能实现对这个对象的属性赋值。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~


  • 我看之前的把对象作为属性没有直接new,都是通过set方法注入实例对象
    2020-11-21 18:23:14
  • 同学你好,建议同学新开问答将相关代码贴出来哟,方便老师查看 祝学习愉快~
    2020-11-21 18:59:41
  • 比如这个private Delivery delivery;不new,直接默认为null,然后添加setget方法,影响web运行吗
    2020-11-21 21:27:39
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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