zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java协变返回类型使用示例

JAVA 使用 类型 示例 返回 协变
2023-06-13 09:15:17 时间

Java5.0添加了对协变返回类型的支持,即子类覆盖(即重写)基类方法时,返回的类型可以是基类方法返回类型的子类。协变返回类型允许返回更为具体的类型。
示例程序如下:

复制代码代码如下:


importjava.io.ByteArrayInputStream;
importjava.io.InputStream;

classBase
{
   //子类Derive将重写此方法,将返回类型设置为InputStream的子类
  publicInputStreamgetInput()
  {
     returnSystem.in;
  }
}
public classDeriveextendsBase
{

   @Override
   publicByteArrayInputStreamgetInput()
   {

       returnnewByteArrayInputStream(newbyte[1024]);
   }
   publicstaticvoidmain(String[]args)
   {
       Derived=newDerive();
       System.out.println(d.getInput().getClass());
   }
}
/*程序输出:
classjava.io.ByteArrayInputStream
*/