代码改变世界

面向对象(6)方法的重写

  云间月  阅读(58)  评论(0编辑  收藏  举报

方法重写/覆盖

概念

简单来说:方法覆盖就是子类有一个方法,和父类的某个方法的名称,返回类型,参数一样,那么我们就是子类的这个方法覆盖了父类的方法

注意事项和使用细节

1.子类的方法的形参列表,方法名称要和父类的方法的参数,方法名称完全一致。

2.子类的返回类型和父类的返回类型一样,或者父类的返回类型是子类返回类型的父类,比如:父类的返回类型是Object类,子类方法的返回类型是String,或者写两个类,B类继承A类,写一个方法,返回的是A类,再写一个方法返回的是B类,这两个方法构成重载(具体看韩顺平302集)

3.子类方法不能缩小(可以扩大)父类的访问权限。

重载和重写的比较

注意:

当两个方法重写时,new的是子类对象,那么调用重写方法是输出的会是子类的方法体(因为会从子类开始找),父类的方法体被覆盖除非注释掉子类方法。

当两个方法重写时,想要输出父类的重写方法只能在子类没重写父类的方法。

或者父类子类都实例化然后用各自的对象调用?

相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示