关于two赋值为null的问题。视频第9分钟

关于two赋值为null的问题。视频第9分钟

视频第9分钟。老师说写在main()方法里面,只能把two直接赋值为null;如果是进行类之间的方法传参的调用的情况下,在参数不赋值的情况下,默认就是null。

这里是什么意思?

正在回答

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

1回答

老师在视频想表达的意思是,因为要演示在equals方法中,进行对象判断是否为空语句的作用,所以修改源代码,将two=null;后面也演示了,在这种赋值情况下,equals方法的执行情况。

至于类之间方法传参调用的情况,譬如有如下代码:

class Demo{
    public void say(Object temp){
        
    }
}

当某一时刻调用say方法,

new Demo().say(obj);

但是传入的obj对象未经过实例化操作时,这个obj的默认值为null 。


如果解决了你的疑惑,请采纳,祝学习愉快。

  • suisc 提问者 #1
    谢谢解答。但是还是有一些不明白。 如果没有Animal two = null;只有Animal two;那么会报错two未初始化。 而类之间的方法传参具体是什么意思呢?不会出现未初始化的错误吗?
    2017-06-20 07:34:30
  • 喜欢做梦的鱼 回复 提问者 suisc #2
    出现未初始化提示,是因为在方法内部进行操作的时候,局部变量必须初始化后再操作。 如果按我上面的代码中,say方法中从外部传入obj,此时要看调用场景,不一定会提示编译错误。
    2017-06-20 10:06:42
  • suisc 提问者 #3
    非常感谢!
    2017-06-20 11:11:02
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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