面向对象(6)方法的重写
2022-03-29 22:26 云间月 阅读(58) 评论(0) 编辑 收藏 举报方法重写/覆盖
概念
简单来说:方法覆盖就是子类有一个方法,和父类的某个方法的名称,返回类型,参数一样,那么我们就是子类的这个方法覆盖了父类的方法
注意事项和使用细节
1.子类的方法的形参列表,方法名称要和父类的方法的参数,方法名称完全一致。
2.子类的返回类型和父类的返回类型一样,或者父类的返回类型是子类返回类型的父类,比如:父类的返回类型是Object类,子类方法的返回类型是String,或者写两个类,B类继承A类,写一个方法,返回的是A类,再写一个方法返回的是B类,这两个方法构成重载(具体看韩顺平302集)
3.子类方法不能缩小(可以扩大)父类的访问权限。
重载和重写的比较
注意:
当两个方法重写时,new的是子类对象,那么调用重写方法是输出的会是子类的方法体(因为会从子类开始找),父类的方法体被覆盖除非注释掉子类方法。
当两个方法重写时,想要输出父类的重写方法只能在子类没重写父类的方法。
或者父类子类都实例化然后用各自的对象调用?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix