3
回答
一个类的父类有一个equals方法,当这个类执行equals方法是,会执行Object的还是父类的??为什么???
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

一个类的父类有一个equals方法,当这个类执行equals方法是,会执行Object的还是父类的??为什么???

举报
大溪
发帖于4个月前 3回/140阅

理论上来说,只要你不重载,就会调用父类的方法,子类->父类->Object,若果你在父类中重载了Object的equals方法,就会调用父类中的方法,否则,调用Object的方法,至于理由,重载的作用

--- 共有 2 条评论 ---
猫先生_是重写吧, 3个月前 回复
大溪在编译源代码时,当遇到没有父类的类时,编译器会将其指定一个默认的父类(一般为Object),而虚拟机在处理到这个类时,由于这个类已经有一个默认的父类了,因此,VM仍然会按着常规的方法来处理每一个类。对于这种情况,从编译后的二进制角度来看,所有的类都会有一个父类。 2、编译器仍然按着实际代码进行编译,并不会做额外的处理。如果一个类没有显式地继承于其他的类,编译后的代码仍然没有父类。然后由虚拟机运行 4个月前 回复
顶部