Java学习之重写与重载的异同

一、重写与重载
重写是父类与子类之间多态性的一种表现,而重载是一个类中多态性的一种表现,且重载“同名不同参”。子类的对象使用这个方法时,将调用子类的定义,对这个类的对象而言,父类的定义就被“屏蔽”掉了。
二、方法的重写与重载
方法的重写:如果在子类中定义某方法与其父类有相同的名称和参数,则该方法被“重写”;
方法的重载:如果在一个类中定义多个同名方法,它们或有不同参数个数或有不同的参数类型,则该方法被“重载”。被重载的方法是可以改变返回值类型的。
总结两者的异同:
1.不同:
1)重写发生在父类、子类之间,而重载发生在一个类中。
2)重写实现的是运行时的多态性,而重载实现的是编译时的多态性。
3)“同参”(相同的参数列表)被认为是“重写”,而“同名不同参”(不同的参数列表)被认为是“重载”。
4)重写要求有兼容的返回类型,而重载对返回类型没有特殊的要求,不能根据返回值进行区分。
2.相同:
1)重写(Overriding)与重载(Overloading)是Java语言多态性的不同表现。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值