Kovarijantni return tip specificira da return tip može da se mijenja u istom smjeru kao podklasa. Prije nego se pojavila Java5, nije bilo moguće preklopiti nijednu metodu promjenom return tipa. Ali sada, poslije Java5, moguće je preklopiti metodu promjenom return tipa ako podklasa preklapa bilo koju metodu čiji je return tip ne-primitivan ali mijenja njen return tip u tip podklase. Pogledajmo jednostavan primjer: Jednostavan primjer kovarijantnog return tipa
class A{ A get(){ return this;} } class B1 extends A{ B1 get(){ return this; } void message(){System.out.println("ovo je kovarijantni return tip");} public static void main(String args[]){ new B1().get().message(); } } Ispis na ekranu: ovo je kovarijantni return tip
Kao što se može vidjeti u ovom primjeru, return tip metode get() A klase je A ali return tip metode get() B klase je B. Obe metode imaju različit return tip ali to jeste preklapanje metoda. Ovo je poznato kao kovarijantni return tip.
Objektno orijentisano programiranje u Javi Index