我要是没传入Student对象,为什么第二个分支没有返回false

img

求各路英雄好汉帮忙看一下,我的理解:
要是没有传入student对象,第二个分支,判断显示false取反就是true,不理解为什么没进入第二个分支🌚🌚

没传入Student对象,第二个分支就会直接return false啊。因为你传入的s2是Student对象,所以才没有return false。取反取的是 instanceof 的反,意思是“不是Student的实例,则返回false”,不是你理解的return 的结果取反啊。


若对你有帮助,望采纳!

你没有传入Student对象,那么调用equals 的时候,传递什么参数。
如果是截图中的代码,那就是传了Student对象的,s2就是Student的对象,所以在equals方法内,s2是Student类的实例,结果为true,取反就是false,也就不会执行if代码块。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632