एक सहकर्मी (जो जावा के लिए बहुत नया है) आज बंद हो गया और पूछा कि एक बहुत ही सरल सवाल की तरह क्या लग रहा था। दुर्भाग्य से, मैंने उसे समझाए जाने की कोशिश करने का एक बहुत ही भयानक काम किया।आप अपनी परिभाषा के भीतर कक्षा को क्यों स्थापित कर सकते हैं?
class XCopy {
public static void main(String[] args) {
XCopy x = new XCopy(); // 1
x.doIt();
}
public void doIt() {
// Some code...
}
}
वह लाइन 1. क्या उन्हें पता चला था चाहता था क्यों XCopy का एक नया उदाहरण वर्ग XCopy की परिभाषा के भीतर बनाया जा सकता है पर उलझन में था: वह एक किताब है कि एक छोटे से कोड है कि इस तरह देखा था । उन्होंने सोचा कि इससे किसी प्रकार की अग्रेषण संदर्भ त्रुटि होगी। आखिरकार, हमने अभी तक यह घोषणा पूरी नहीं की थी कि कक्षा XCopy क्या था, तो हम एक कैसे बना सकते हैं?
मुझे निश्चित रूप से पता है कि यह वैध कोड है, लेकिन जब मैंने उसे समझाने की कोशिश की, तो मैंने खुद को जवाब पर ठोकर खाई और मुझे डर है कि मैंने उसे शुरू होने से ज्यादा भ्रमित कर दिया। मैं कुछ अन्य स्पष्टीकरण सुनना चाहता हूं कि यह क्यों काम करता है।
कोई विचार? कक्षा की परिभाषा के भीतर आप कक्षा के उदाहरण को तुरंत क्यों शुरू कर सकते हैं?
'एक-कक्षा प्रयोग' क्या हैं? – Andru
@Andru यह तब होता है जब आप भाषा के साथ प्रयोग कर रहे होते हैं, और आप एक संपूर्ण कार्यक्रम नहीं बनाना चाहते हैं, इसलिए आप सब कुछ एक वर्ग में डाल दें, जिसमें मुख्य विधि – Eames
@Mathew शामिल है, मैं बस अपने ज्ञान को फिर से जांचना चाहता हूं यानी वर्ग को स्मृति में पहले लोड किया जाता है और फिर स्थैतिक मुख्य कहा जाता है, है ना? – light