标签:
今天看到句话:“支持重写方法时返回协变类型”。
那么什么事协变类型?在网上找了找资料,大体上明白了。
Java 5.0添加了对协变返回类型的支持,即子类覆盖(即重写)基类方法时,返回的类型可以是基类方法返回类型的子类。协变返回类型允许返回更为具体的类型。
示例程序如下:
代码如下:
import java.io.ByteArrayInputStream; import java.io.InputStream; class Base { //子类Derive将重写此方法,将返回类型设置为InputStream的子类 public InputStream getInput() { return System.in; } } public class Derive extends Base { @Override public ByteArrayInputStream getInput() { return new ByteArrayInputStream(new byte[1024]); } public static void main(String[] args) { Derive d=new Derive(); System.out.println(d.getInput().getClass()); } } /*程序输出: class java.io.ByteArrayInputStream */
标签:
原文地址:http://www.cnblogs.com/luankun0214/p/4395815.html