में एक घुमावदार आंतरिक वर्ग निम्न प्रोग्राम Anonymous
नामक एक आंतरिक वर्ग का उपयोग करता है जो स्वयं अपने संलग्न वर्ग Main
को बढ़ाता है।जावा
package name;
public class Main
{
private final String name;
Main(String name)
{
this.name = name;
}
private String name()
{
return name;
}
private void reproduce()
{
new Anonymous().printName();
}
private class Anonymous extends Main
{
public Anonymous()
{
super("reproduce");
}
public void printName()
{
System.out.println(name());
}
}
public static void main(String[] args)
{
new Main("main").reproduce();
}
}
main() प्रणाली में केवल बयान बाहरी वर्ग Main
के निर्माता एक स्ट्रिंग मुख्य और बस उसके बाद विधि reproduce()
बुलाया जा रहा है की आपूर्ति का आह्वान।
reproduce method
बयान new Anonymous().printName();
जो Anonymous
वर्ग वस्तु पर printName()
विधि का आह्वान होता है। super();
कन्स्ट्रक्टर एक नई स्ट्रिंग की आपूर्ति कर रहा है को इसके संलग्न सुपर क्लास Main
पर पुन: उत्पन्न करें।
तदनुसार, printName
विधि के भीतर बयान System.out.println(name());
स्ट्रिंग प्रदर्शित करना चाहिए की तुलना में मुख्य बल्कि पुन: पेश लेकिन यह हमेशा स्ट्रिंग मुख्य प्रदर्शित करता है। ऐसा क्यों है?
+1 अच्छी तरह से देखा गया। – skaffman