java协变式返回类型在重写中的应用

/**
 *从java5开始,只要新的返回类型是被重写的(超类)方法所声明的返回类型的子类
 *就允许更改重写方法中的返回类型
 *但是如果尝试用1.4编译器或者利用如下的源标志编译这段代码:
 * javac -source 1.4 Beta.java
 *将会看到如下编译错误:
  attemping to use incompatible return type
 */
class  Alpa
{
	Alpa doStuff(char c){
		return new Alpa();
	}
}
class Beta extends Alpa
{
	Beta doStuff(char c){
		return new Beta();
	}
}
由此我们可以看到重载与重写方法之间的一些相似的地方:

 重载方法可以改变返回类型,而重写方法只在协变式返回的范围才可以这样做,而且jdk的版本得是5以上的


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值