क्या कक्षा एक सिंगलटन के नीचे सूचीबद्ध है? चूंकि कन्स्ट्रक्टर को सार्वजनिक घोषित किया गया है, क्या मैं अनुमान लगा सकता हूं कि वर्ग गलत कार्यान्वयन वाला सिंगलटन है?क्या यह कक्षा एक सिंगलटन है?
public class CreateDevice extends Functionality{
private static Simulator simulator;
ConnectionDB connect = ConnectionDB.getInstance();
public CreateDevice(Simulator simulator){
this.simulator = simulator;
}
private static CreateDevice instance;
synchronized public static CreateDevice getInstance() {
if(instance == null){
instance = new CreateDevice(simulator);
}
return instance;
}
}
एक वर्ग एक सिंगलटन नहीं हो सकता है, केवल वस्तुएं तब हो सकती हैं जब वे एक तरह से हों। लेकिन कक्षाएं एक ऑब्जेक्ट को तत्कालता प्रतिबंधित करने के लिए सिंगलटन पैटर्न को कार्यान्वित कर सकती हैं :) – zapl
साइड नोट: 'सिम्युलेटर' को 'स्थिर' नहीं होना चाहिए यदि इसे 'CreateDevice' - कन्स्ट्रक्टर में प्रारंभ किया गया है - या तो इसे स्थैतिक बनाएं और इसे वर्गनाम के माध्यम से देखें 'CreateDevice.simulator' या' स्थिर 'कीवर्ड को हटा दें। (हालांकि, वास्तव में सिंगलटन होने के सवाल के साथ कुछ भी नहीं है) – Hulk
आप सही हैं। यह एक समस्याग्रस्त कोड है जिसे संशोधित करने की आवश्यकता है। –