Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में कोवेरिएंट रिटर्न टाइप क्या हैं?


सामान्यतः, ओवरराइडिंग में, सुपरक्लास और सबक्लास में मेथड का नाम और पैरामीटर समान होते हैं। लेकिन रिटर्न टाइप के मामले में, सबक्लास में मेथड सुपरक्लास के मेथड के रिटर्न टाइप का सबटाइप वापस कर सकता है।

उदाहरण

यदि आप निम्न उदाहरण देखें तो सुपर क्लास में demoMethod() नामक एक मेथड है जो List टाइप का मान वापस करता है। यदि हम इस मेथड को ओवरराइड करते हैं तो सबक्लास में मेथड List (जो सुपरक्लास में है) टाइप का मान वापस कर सकता है या फिर List का सबटाइप (सुपरक्लास में मेथड का रिटर्न टाइप) जैसे ArrayList, Stack, Vector आदि वापस कर सकता है।

इस परिदृश्य में सबक्लास मेथड ArrayList वापस करता है, जो सुपरक्लास के रिटर्न टाइप List का सबटाइप है। यह सबटाइप (ArrayList) कोवेरिएंट टाइप के रूप में जाना जाता है।

उदाहरण

class Test{    int data =100;    Test demoMethod(){       return this;    } } public class Sample extends Test{    int data = 1000;    Sample demoMethod(){       return this;    }    public static void main(String args[]){       Sample sam = new Sample();       System.out.println(sam.demoMethod().data);    } }

आउटपुट

1000

  1. C भाषा में प्राथमिक डेटा टाइप्स (Primary Data Types) क्या हैं? C भाषा में प्राथमिक डेटा टाइप्स (Primary Data Types) क्या हैं?

    C कंपाइलर्स चार मौलिक डेटा टाइप्स का समर्थन करते हैं: इंटीजर (Integer) कैरेक्टर (Character) फ्लोटिंग-पॉइंट (Floating-point) डबल प्रिसिजन फ्लोटिंग-पॉइंट (Double precision floating-point) प्राथमिक डेटा टाइप्स इंटीग्रल डेटा टाइप (Integral Data Type) इंटीग्रल डेटा टाइप्स पूरे नंबर और कैरेक्टर्स स्टो

  1. Java में paint() विधि और repaint() विधि के बीच क्या अंतर हैं? Java में paint() विधि और repaint() विधि के बीच क्या अंतर हैं?

    Paint() और Repaint() paint(): इस विधि में इस घटक को पेंट करने के निर्देश होते हैं। Java Swing में, हम paint() विधि के बजाय paintComponent() विधि को बदल सकते हैं क्योंकि paint paintBorder(), paintComponent() और paintChildren() विधियों को कॉल करता है। हम इस विधि को सीधे नहीं बुला सकते, इसके बजाय हम

  1. - Java में Covariant Return Types

    कोवेरिएंट रिटर्न टाइप ओवरराइडिंग मेथड के रिटर्न टाइप को संदर्भित करता है। यह ओवरराइडन मेथड के रिटर्न टाइप को किसी भी प्रकार के कास्ट या रिटर्न टाइप चेक की आवश्यकता के बिना संकीर्ण करने की अनुमति देता है। कोवेरिएंट रिटर्न टाइप केवल नॉन-प्रिमिटिव रिटर्न टाइप्स के लिए काम करता है।Java 5 से, हम केवल इसक