Tiger学习 之 Override

先弄清Overload和Override的概念(都是Java多态性的不同表现)
Overload 重载(同一个类中有相同的方法名)
注意点:
1.重载可以通过相同方法名不同的参数样式表现(不同的参数类型,不同的参数个数和不同的参数顺序)
2.不能通过访问权限、返回类型、抛出的异常进行重载(方法的异常类型和数目不会对重载造成影响)
3.如果是继承的重载,父类中的方法的访问权限是priavte,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。

Override覆盖(子类跟父类【或接口】有相同的方法名)
注意点:
1.子类中方法名和父类的方法名必须相同,参数类型必须精确匹配(参数类型、个数和顺序都必须一样)
2.子类的方法的返回值类型必须和父类的方法返回值类型一致(或返回返回值类型的子类)
3.子类的方法所抛出的异常必须和父类方法的所抛出的异常一致,或者是其子类,或者不抛出
4.static方法不能覆盖
5.private方法也不能覆盖(否则在其子类中只是新定义了一个方法,并没有对其进行覆盖)
6.只要参数类型不一致,返回类型同与不同,此不为覆盖而是重载

covariant return(协变返回)
子类方法的返回类是父类方法的返回类型的子类才可以.

可参照:http://www.iteye.com/topic/20932(buaawhl)

PS:Tiger之前好像也可以,是JAVA5.0的新特性?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值