java协变返回类型使用示例
程序员文章站
2024-02-20 21:20:04
java 5.0添加了对协变返回类型的支持,即子类覆盖(即重写)基类方法时,返回的类型可以是基类方法返回类型的子类。协变返回类型允许返回更为具体的类型。示例程序如下:
复...
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
*/