Java 5.0 fügt Unterstützung für kovariante Rückgabetypen hinzu, dh wenn Unterklassen überschrieben (d. H. Überschreibungs-) Basisklassenmethoden, kann der zurückgegebene Typ eine Unterklasse der Basisklassenmethode -Rückgabe -Typ sein. Mit dem kovarianten Rückgabetyp können ein spezifischerer Typ zurückgegeben werden.
Das Beispielprogramm lautet wie folgt:
Die Codekopie lautet wie folgt:
importieren java.io.BytearrayInputStream;
importieren java.io.inputstream;
Klassenbasis
{
// Unterklasse Ableitung überschreibt diese Methode und setzen den Rückgabetyp auf eine Unterklasse von InputStream
öffentlicher InputStream getInput ()
{
Rückkehrsystem.in;
}
}
Öffentliche Klasse Ableitungen erweitert die Basis
{
@Override
öffentliche BytearrayInputStream getInput ()
{
Neue BytearrayInputStream zurückgeben (neues Byte [1024]);
}
öffentliche statische Leere Main (String [] Args)
{
Abgeben d = new desive ();
System.out.println (D.GetInput (). GetClass ());
}
}
/*Programmausgabe:
Klasse Java.io.BytearrayInputStream
*/