बाहरी कक्षा से गुमनाम आंतरिक कक्षाओं के भीतर परिभाषित नई विधियों तक पहुंचने के लिए कोई जावा वाक्यविन्यास है? मुझे पता है कि विभिन्न कामकाज हो सकते हैं, लेकिन मुझे आश्चर्य है कि एक विशेष वाक्यविन्यास मौजूद है या नहीं?क्या मैं कुछ वाक्यविन्यास के साथ अनाम आंतरिक कक्षा में नए तरीकों तक पहुंच सकता हूं?
उदाहरण
class Outer {
ActionListener listener = new ActionListener() {
@Override
void actionPerformed(ActionEvent e) {
// do something
}
// method is public so can be accessible
public void MyGloriousMethod() {
// viva!
}
};
public void Caller() {
listener.MyGloriousMethod(); // does not work!
}
}
मेरी स्वयं समाधान
के लिए मैं सिर्फ बाहरी कक्षा तक के सभी तरीकों और सदस्यों ले जाया गया।
वाह! आप उस मामले को जानते हैं जब अज्ञात वर्ग के सदस्य को बुलाया जा सकता है! –