Creating objects from classes that implement interfaces in Java -


संभव डुप्लिकेट:

जावा में, क्या इन दो पंक्तियों में कोई अंतर है? यदि हां, तो यह क्या है, और कब मुझे एक का उपयोग करना चाहिए? क्या कोई पसंदीदा सम्मेलन है?

ध्यान दें कि ArrayList सूची लागू करता है।

  सूची & lt; स्ट्रिंग & gt; गुच्छा ओफ्सट्रिंग = नए अर्रेलिस्ट & lt; स्ट्रिंग & gt; (); ArrayList & LT; स्ट्रिंग & gt; गुच्छा ओफ्सट्रिंग = नए अर्रेलिस्ट & lt; स्ट्रिंग & gt; ();    

दोनों ही मामलों में आप एक ArrayList को शुरु करते हैं अंतर यह है कि पहले मामले में आप इसे सूची के रूप में संदर्भित कर रहे हैं (इंटरफ़ेस जो एरेएलिस्ट लागू करता है), इसलिए आपके पास ऐरेएलिस्ट वर्ग की विशिष्ट विधि तक पहुंच नहीं है, लेकिन केवल इंटरफेस पद्धति है।

उपयोग करें थी पहले: <पूर्व> सूची & lt; स्ट्रिंग & gt; गुच्छा ओफ्सट्रिंग = नए अर्रेलिस्ट & lt; स्ट्रिंग & gt; ();

इस प्रकार आप अलग सूची कार्यान्वयन (अर्रेलिस्ट, वेक्टर) बदल सकते हैं:

  सार्वजनिक वर्ग AClass () {सूची & lt; स्ट्रिंग & gt; bunchOfStrings; सार्वजनिक सूची & lt; स्ट्रिंग & gt; GetList () {गुच्छा ओफ्सट्रिंग = नया अर्रेलिस्ट & lt; स्ट्रिंग & gt; (); // या आप इस पर स्विच कर सकते हैं: bunchOfStrings = नया वेक्टर & lt; स्ट्रिंग & gt; (); बदले झुका हुआ ओफ़स्ट्रिंग; }}    

Comments

Popular posts from this blog

php - Creating canonical URLs with custom route-classes -

mysql - BLOB/TEXT column 'value' used in key specification without a key length -

mysql - php global within a class but outside a function? -