कोवेरिएंट रिटर्न टाइप ओवरराइडिंग मेथड के रिटर्न टाइप को संदर्भित करता है। यह ओवरराइडन मेथड के रिटर्न टाइप को किसी भी प्रकार के कास्ट या रिटर्न टाइप चेक की आवश्यकता के बिना संकीर्ण करने की अनुमति देता है। कोवेरिएंट रिटर्न टाइप केवल नॉन-प्रिमिटिव रिटर्न टाइप्स के लिए काम करता है।
Java 5 से, हम केवल इसके रिटर्न टाइप को बदलकर एक मेथड को ओवरराइड कर सकते हैं, इस शर्त का पालन करते हुए कि रिटर्न टाइप ओवरराइडन मेथड रिटर्न टाइप का सबक्लास है।
निम्नलिखित उदाहरण इसका प्रदर्शन करता है।
उदाहरण
class SuperClass {
SuperClass get() {
System.out.println("SuperClass");
return this;
}
}
public class Tester extends SuperClass {
Tester get() {
System.out.println("SubClass");
return this;
}
public static void main(String[] args) {
SuperClass tester = new Tester();
tester.get();
}
}आउटपुट
Subclass