मैं जावा में नया हूं। एक बात मुझे भ्रमित करती है कि क्यों कुछ कक्षाओं को तत्काल करने के लिए new
की आवश्यकता है, और क्यों कुछ अन्य को तत्काल करने के लिए new
की आवश्यकता नहीं है।क्यों कुछ कक्षाओं को इसके उदाहरण बनाते समय "नया" शब्द की आवश्यकता नहीं है?
उदाहरण के लिए, मैं log4j को देख रहा हूं, इसे new
की आवश्यकता नहीं है।
कुछ अन्य वर्गों को नए क्यों चाहिए? उदाहरण के लिए, एक कर्मचारी वर्ग:
Employee X = new Employee (John);
X.getwork();
आदि आदि
हम क्यों नहीं कहा, Logger logger = new Logger(...);
? और हम इसे new
के बिना भी उपयोग करने में सक्षम थे, जैसे logger.setLevel()
, आदि
[फैक्टरी विधि पैटर्न] (http://en.wikipedia.org/wiki/Factory_method_pattern) – oldrinb
'Logger.getLogger' आंतरिक रूप से 'नया लॉगर' कॉल करता है। हमेशा एक कन्स्ट्रक्टर कॉल हमेशा होता है - बस * आपके * कोड में नहीं। – Blorgbeard
वाह इस समय बहुत कम जवाब में बहुत सारे जवाब हैं ... – Doorknob