Java 5.0 ajoute la prise en charge des types de retour covariant, c'est-à-dire que lorsque les sous-classes remplacent les méthodes de classe de base (c'est-à-dire la remplacement), le type renvoyé peut être une sous-classe du type de retour de méthode de classe de base. Le type de retour covariant permet de retourner un type plus spécifique.
L'exemple de programme est le suivant:
La copie de code est la suivante:
Importer java.io.ByteArrayInputStream;
import java.io.inputStream;
base de classe
{
// Le dérive de sous-classe remplacera cette méthode et définira le type de retour dans une sous-classe de InputStream
public EntingStream getInput ()
{
Retour System.in;
}
}
La classe publique dérive la base
{
@Outrepasser
public bytearrayInputStream getInput ()
{
Renvoie un nouveau ByteArrayInputStream (nouveau octet [1024]);
}
public static void Main (String [] args)
{
Derive d = new Derive ();
System.out.println (d.getInput (). GetClass ());
}
}
/ * Sortie du programme:
classe java.io.bytearrayinputStream
* /