में समान नाम वाले अमूर्त वर्ग में किसी अन्य विधि से कॉल विधि मेरे पास एक सारणी वर्ग और एक वर्ग है जो इसे विस्तारित करता है, मेरे पास दोनों वर्गों में एक ही नाम के साथ एक विधि है। मैं अमूर्त वर्ग की विधि को अमूर्त वर्ग की दूसरी विधि में कॉल करना चाहता हूं।वास्तविक वर्ग
Controller.java
public abstract class Controller {
public Result delete(Long id) {
return this.delete(id, true);
}
public Result delete(Long id, boolean useTransaction) {
// do something and return result
}
}
FileGroup.java
public class FileGroup extends Controller {
public Result delete(Long id, boolean central) {
// do something
return super.delete(id);
}
}
super.delete
कॉल Controller.delete
लेकिन this.delete(id, true)
FileGroup
में कॉल delete
बजाय delete
Controller
में जो पुनरावर्ती अनंत लूप के कारण और अतिप्रवाह ढेर है बुलाने की।
@aioobe यह पूरी तरह से स्पष्ट नहीं है। ओपी ने 'super.delete (आईडी, केंद्रीय)' क्यों नहीं लिखा? ऐसा हो सकता है कि ओपी वास्तव में नियंत्रक में एक 'हटाना' विधि को कॉल करने के लिए 'फ़ाइल समूह' में 'हटाएं' चाहता है, जो बदले में अनंत नियंत्रक के बिना 'नियंत्रक' में दो तर्क 'हटाएं' को कॉल करता है। –
* "ओपी ने सुपर.डिलीट (आईडी, सेंट्रल) क्यों नहीं लिखा?" * - क्योंकि यह एक व्यर्थ ओवरराइड होगा। * "[...] एक अनंत लूप के बिना।" * - हाँ, यही वह है जो मैं मानता हूं (और यही वह है जो मैं अपने उत्तर में संबोधित करता हूं)। – aioobe
'// कुछ करें' की वजह से यह एक व्यर्थ ओवरराइड नहीं होगा। –