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

क्या हम जावा में ओवरराइडिंग में मेथड सिग्नेचर बदल सकते हैं?

नहीं, सुपर क्लास की एक विधि को ओवरराइड करते समय हमें यह सुनिश्चित करने की आवश्यकता है कि दोनों विधियों का एक ही नाम, एक ही पैरामीटर और, एक ही रिटर्न प्रकार है, अन्यथा उन दोनों को अलग-अलग तरीकों के रूप में माना जाएगा।

संक्षेप में, यदि हम हस्ताक्षर बदलते हैं, तो आप सुपर क्लास की विधि को ओवरराइड नहीं कर सकते हैं यदि आप कोशिश करते हैं कि सुपर क्लास की विधि निष्पादित की जाएगी।

कारण - यदि आप हस्ताक्षर बदलते हैं तो दोनों को अलग-अलग तरीकों के रूप में माना जाता है और चूंकि सुपर क्लास मेथड की कॉपी सब क्लास ऑब्जेक्ट पर उपलब्ध है, इसे निष्पादित किया जाएगा।

उदाहरण

class Super {
   void sample(int a, int b) {
      System.out.println("Method of the Super class");
   }
}
public class MethodOverriding extends Super {
   void sample(int a, float b) {
      System.out.println("Method of the Sub class");
   }
   public static void main(String args[]) {
      MethodOverriding obj = new MethodOverriding();
      obj.sample(20, 20);
   }
}

आउटपुट

Method of the Super class

  1. क्या एनम जावा में किसी भी वर्ग का विस्तार कर सकता है?

    जावा में एन्यूमरेशन (एनम) एक डेटाटाइप है जो स्थिर मूल्यों का एक सेट संग्रहीत करता है। आप निश्चित मानों जैसे सप्ताह में दिन, वर्ष में महीने आदि को संग्रहीत करने के लिए गणनाओं का उपयोग कर सकते हैं। आप एनम कीवर्ड का उपयोग करके एक एन्यूमरेशन को परिभाषित कर सकते हैं, उसके बाद एन्यूमरेशन के नाम के रूप मे

  1. जावा विधि को ओवरराइड करने के नियम

    निम्नलिखित नियम हैं जिन पर हमें किसी विधि को ठीक से ओवरराइड करते समय विचार करना चाहिए - तर्क सूची बिल्कुल ओवरराइड विधि के समान होनी चाहिए। रिटर्न प्रकार वही होना चाहिए या सुपरक्लास में मूल ओवरराइड विधि में घोषित रिटर्न प्रकार का उप-प्रकार होना चाहिए। पहुंच स्तर ओवरराइड विधि के पहुंच स्तर से अधिक प्

  1. जावा में विधि ओवरराइडिंग

    ओवरराइडिंग एक ऐसे व्यवहार को परिभाषित करने की क्षमता है जो उपवर्ग प्रकार के लिए विशिष्ट है, जिसका अर्थ है कि एक उपवर्ग अपनी आवश्यकता के आधार पर एक मूल वर्ग विधि को लागू कर सकता है। ऑब्जेक्ट-ओरिएंटेड शब्दों में, ओवरराइडिंग का अर्थ मौजूदा पद्धति की कार्यक्षमता को ओवरराइड करना है। उदाहरण आइए एक उदाहरण