温故知新之java重载覆盖

 java中可以对同名函数进行重载,对继承来的方法进行覆盖,列举一下特性:

覆盖:

1.覆盖的方法名和参数必须和父类的方法保持一致,且父类的方法对子类是可见的。

2.覆盖之后的方法的访问权限可以>=父类原来方法的访问权限,返回类型级别可以<=父类的返回类型(继承或实现父类的返回类型的类)

3.在java SE5/6以后应该声明@Override

 

重载:

1.重载需要方法名相同,参数类型不同。

2.两个不同的参数类型可以是继承或实现的关系(但是不推荐),java会自动匹配最优的方法,传进来的如果是更具体(比如子类)的就会调用更具体的方法。

3.如果分别用两个不同的接口为参数重载一个方法,同时有个类同时实现了这两个方法,那么在用这个类的对象为参数调用这个方法时,java就会提示ambiguous错误,这就需要强制转换成一个接口,指定一下用哪个接口的方法去调用。

4.在参数类型差不多的情况下就应该考虑时候应该重载,重载了调用时候需要格外注意。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值