overload与override

重载和重写:
1.重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?
答:
重载和重写是多态性的不同表现,其中重载是一个类中多态性的一种表现,是指一个类中定义了多个同名的方法,参数类型或参数个数不同,使用重载时需注意:
A.重载是通过不同的参数来区分,例如不同的参数类型,不同的参数个数,不同的参数顺序。
B.不能通过方法的访问权限、返回值类型和抛出异常类型来重载。
C.对于继承来说,如果基类的访问权限为private,那么就不能再派生类中对其进行重载,如果派生类也定义了一个同名的方法,这只是一个新的方法,不会达到重载的效果。
重写是指派生类覆盖基类的方法,对其重写,以达到不同的作用,使用重写时需注意:
A.派生类的覆盖方法必须和基类中被覆盖的方法有相同的方法名和参数。
B.派生类的覆盖方法的返回值必须和基类中被覆盖的方法的返回值相同。
C.派生类的覆盖方法所抛出的异常必须和基类中被覆盖的方法所抛出的异常一致或是其子类。
D.基类中被覆盖的方法不能为private,否则,其子类只是定义了一个方法,并没有对其进行覆盖。
重载和重写的区别:
A.覆盖是子类和父类的关系,垂直关系;重载是同一个类中方法之间的关系,是水平关系。
B.覆盖只能由一个方法或只能由一对方法产生关系;重载是多个方法之间的关系。
C.覆盖要求参数列表相同;重载要求参数列表不同。
D.覆盖关系中,调用方法体是根据对象的类型来决定的;而重载是根据调用时的实参表与形参表来选择方法体的。
重载的方法可以改变返回值类型,重写的方法不能改变返回值类型。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值