में सुपर क्लास सदस्य "ओवरराइड" एक नोब सवाल है, लेकिन, लेकिन मैं इसे समझ नहीं सकता।सबक्लास जावा
यह पशु.जावा है। मैं चाहता हूं कि यह सभी पशु उप-वर्गों के लिए एक सुपरक्लास बन जाए। यह सभी उप-वर्गों के समान पैकेज में है।
public class Animal {
protected static String call = "Animals make noises, but do not have a default noise, so we're just printing this instead.";
public static void sound()
{
System.out.println(call);
}
}
यह cow.java
class Cow extends Animal {
call = "moo";
}
जाहिर है, इस नहीं चलता है। लेकिन मैं Cow.sound() को चलाने में सक्षम होना चाहता हूं और आउटपुट को "moo" पढ़ना चाहता हूं। मैं भी अपनी कक्षाओं के साथ 'कॉल' को ओवरराइड करने वाले अधिक वर्ग बनाने में सक्षम होना चाहता हूं। इसके बजाय मुझे क्या करना चाहिए?
क्लास चर का उपयोग classname.variable द्वारा सीधे करें। क्योंकि स्थैतिक विधियों और चर को ओवरराइड नहीं किया जा सकता है। इसलिए यदि आप वैरिएबल को बदलना चाहते हैं तो आपको Animal.call = –
Shriram
'शून्य ध्वनि (स्ट्रिंग कॉल) {-----} ' – Uppicharla
जैसे कुछ कोशिश करने का प्रयास करें, आप कोशिश करने की बजाय ध्वनि विधि को ओवरराइड क्यों नहीं करते अपनी स्थिर विशेषता को फिर से परिभाषित करने के लिए? – christophetd