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