ठीक है, सवाल क्रिस्टल स्पष्ट नहीं हो सकता है। मुझे कुछ विवरण दें:मैं फैक्ट्री क्लास के लिए एक कन्स्ट्रक्टर कैसे उपलब्ध करा सकता हूं?
मान लें कि मेरे पास एक जूता (सीएसएचओ) ऑब्जेक्ट फैक्ट्री क्लास है जिसे CFactory कहा जाता है। CFactory एक सिंगलटन वर्ग है जो एक सरल हैशप का उपयोग करके सभी instanciated जूते बनाता है और स्टोर करता है। इसके बाद बनाई गई वस्तुओं का उपयोग करने के लिए स्थिर विधियों के माध्यम से इसका उपयोग किया जाता है।
क्या CShoe के निर्माता को मजबूर करने का कोई तरीका है ताकि इसे केवल कारखाने द्वारा बुलाया जा सके? (दूसरे शब्दों में, सुनिश्चित करें कि जूते का निर्माण केवल जूते कारखाने सिंगलटन वर्ग द्वारा किया जा सकता है, न कि अन्य कक्षाओं द्वारा)
क्या आप उत्पाद को कारखाने का घोंसला वर्ग बनाना चाहते हैं ?? –
आप CShoe को एक आंतरिक वर्ग (स्थैतिक वर्ग नहीं) भी बना सकते हैं। ऐसा करके, आप अन्य लोगों को सीएफएचओ के उदाहरण के बिना सीएफएचओ का उदाहरण बनाने में सक्षम होने से भी रोक देंगे। – Chii
प्रतिबिंब * हमेशा * setAccessible() विधि के साथ एक्सेस कंट्रोल संशोधक को हटाने में सक्षम है, यदि आपका उदाहरण चलाने में सक्षम है। आप सुरक्षा प्रबंधक के साथ चलकर इसे रोक सकते हैं जो "suppressAccessChecks" अनुमति को अस्वीकार करता है, http://java.sun.com/docs/books/tutorial/essential/environment/security.html –