Today I see a word: "Return covariant type When overriding method is supported."
So what's the covariant type? Looking for information on the Internet, generally understand.
Java 5.0 adds support for covariant return types, that is, when a subclass overrides (that is, overriding) a base class method, the returned type can be a subclass of the base class method return type. The covariant return type allows a more specific type to be returned.
The sample program is as follows:
The code is as follows:
Import java.io.bytearrayinputstream;import Java.io.inputstream;class base{ //subclass derive will override this method, Set the return type to InputStream of the subclass 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 ());} } /* Program output: Class java.io.bytearrayinputstream*/
Java covariant return type