/ / क्या आप जावा में स्थिर विधि को ओवरराइड कर सकते हैं? अगर मैं सबक्लास में एक ही विधि बनाता हूं तो क्या यह समय त्रुटि संकलित करता है? - जावा

क्या आप जावा में स्थिर विधि को ओवरराइड कर सकते हैं? अगर मैं सबक्लास में एक ही विधि बनाता हूं तो क्या यह समय त्रुटि संकलित करता है? - जावा

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

// filename Test.java
public class Test {
public static void foo() {
System.out.println("Test.foo() called ");
}
public static void foo(int a) {
System.out.println("Test.foo(int) called ");
}
public static void main(String args[]) {
Test.foo();
Test.foo(10);
}
}

उत्तर:

जवाब के लिए 2 № 1

आप जावा में स्थिर तरीकों को ओवरराइड नहीं कर सकते हैं, क्योंकि, पॉलिमॉर्फिज्म और स्टेटिक एक साथ काम नहीं करते हैं। और कक्षाओं पर स्थैतिक तरीकों का आह्वान किया जाता है, उदाहरण में नहीं।

आप उप वर्ग में एक सुपर क्लास स्थैतिक विधि छुपा सकते हैं।