2012-05-07 6 views
19

जावा में getInstance() विधि का उपयोग कब करें और getInstance (शून्य) का अर्थ क्या है?कृपया मुझे बताएं कि जावा में getInstance() विधि का उपयोग कब करें।

locationProvider = LocationProvider.getInstance(null); 

क्या कोई मुझे उपरोक्त रेखा का अर्थ बता सकता है?

+2

[यह उत्तर] (http://stackoverflow.com/a/3169644/1830334) यहां दूसरों की तुलना में बेहतर है। – gwg

उत्तर

3

निम्नलिखित कोड आपको अक्षांश और देशांतर देगा। getInstance() उस विशेष वर्ग का उदाहरण वापस देगा।

Criteria myCriteria = new Criteria(); 
    myCriteria.setCostAllowed(false); 
    LocationProvider myLocationProvider = LocationProvider.getInstance(myCriteria); 
    Location myLocation = myLocationProvider.getLocation(300); 
    latitude = myLocation.getQualifiedCoordinates().getLatitude(); 
    longitude = myLocation.getQualifiedCoordinates().getLongitude(); 
29

कक्षाएं जो getInstance() विधियों का उपयोग करती हैं और जैसे singleton design pattern हैं। असल में, उस विशेष श्रेणी का केवल एक उदाहरण होगा, और आप इसे getInstance() के साथ प्राप्त करेंगे।

इस मामले में, LocationProvider में केवल एक उदाहरण होगा, क्योंकि यह डिवाइस-विशिष्ट है। इसके नए उदाहरण बनाने के बजाय, आप getInstance() विधि का उपयोग कर साझा उदाहरण का उपयोग कर सकते हैं। डेटा प्रबंधक और हार्डवेयर इंटरफेस जैसी चीज़ों से निपटने के दौरान सिंगलटन पैटर्न अक्सर जावा में उपयोग किया जाता है, लेकिन इसका उपयोग बहुत अधिक नहीं किया जाना चाहिए, क्योंकि यह आपको एक ही उदाहरण में प्रतिबंधित करता है।

3

विधि getInstance() फ़ैक्टरी विधि कहा जाता है। इसका उपयोग सिंगलटन वर्ग निर्माण के लिए किया जाता है। इसका मतलब है कि उस वर्ग का केवल एक उदाहरण बनाया जाएगा और अन्य उस वर्ग का संदर्भ प्राप्त करेंगे।

+0

यह गलत है। उदाहरण के लिए, 'calendar.getInstance() == कैलेंडर.getInstance() '' false' है। – gwg

संबंधित मुद्दे