जब एक संपत्ति आंतरिक श्रेणी के रूप में अज्ञात आंतरिक वर्ग का उपयोग करते हैं तो ऑब्जेक्ट लाइफ चक्र में किस बिंदु पर कक्षा कचरा एकत्र किया जाता है? युक्त कक्षा (सेटिंग्स नोड) के बाद पुनः दावा किया गया है? क्या मुझे स्पष्ट श्रेणी (सेटिंग्स नोड) के अंतिमकर्ता में PropertyChangeListener को स्पष्ट रूप से हटा देना चाहिए?जावा - बेनामी इनर क्लास लाइफ साइकिल
public class SettingsNode extends AbstractNode
{
public SettingsNode(Project project, ProjectSettings projectSettings)
throws IntrospectionException
{
// use an anonymous inner class to listen for changes
projectSettings.addPropertyChangeListener(ProjectSettings.PROP_NAME,
new PropertyChangeListener()
{
@Override
public void propertyChange(PropertyChangeEvent evt)
{
// handle event
}
});
}
}
प्रदान किए गए उत्तरों के आधार पर, एक अज्ञात इस उपयोग के मामले के लिए सबसे अच्छा विकल्प नहीं प्रतीत होता है। अब मैं एक उदाहरण सोच रहा हूं कि आंतरिक कक्षाएं एक बेहतर विकल्प है, क्योंकि मैं एक संदर्भ रख सकता हूं और किसी भविष्य के बिंदु पर निकालेंप्रॉपर्टी लिस्टनर विधि को कॉल कर सकता हूं। – javacavaj