.class
का अर्थ क्या है, उदाहरण के लिए, MyClass.class
? मैं समझता हूं कि जब आप एक वर्ग और बिंदु का नाम डालते हैं तो इसका उपयोग अपने स्थिर क्षेत्रों या विधियों तक पहुंचने के लिए किया जाता है, लेकिन यह '.class'क्लास नाम के बाद क्लास का क्या मतलब है
उत्तर
SomeClass.class
से संबंधित नहीं है Class<SomeClass>
प्रकार जो आप उपयोग कर सकते हैं reflection API का उपयोग कर प्रोग्रामिंग।
यदि आप instance.getClass()
का उपयोग कर कक्षा का उदाहरण रखते हैं तो आप वही प्रकार प्राप्त कर सकते हैं।
आप documentation here देख सकते हैं। उदाहरण के लिए, आप कर सकते हैं:
- , खेतों और विधियों, एनोटेशन, आदि
- आह्वान तरीकों में से नाम प्राप्त वर्ग
- के नए उदाहरण बना करने के लिए वर्ग का नाम प्राप्त निर्माता मिलता है, सुपर क्लास, पैकेज, आदि
जब आप एक वर्ग के नाम के बाद .class
लिखते हैं, यह संदर्भ देता Class
उद्देश्य यह है कि किसी वर्ग का प्रतिनिधित्व करता है (औपचारिक रूप से, यह एक नामित वर्ग शाब्दिक है)। NombreClase.class
का प्रकार Class<NombreClase>
है।
उदा। NombreClase.class
एक ऐसा ऑब्जेक्ट है जो रनटाइम पर NombreClase
वर्ग का प्रतिनिधित्व करता है। यह वही ऑब्जेक्ट है जो NombreClase
के किसी भी (प्रत्यक्ष) उदाहरण के getClass()
विधि द्वारा वापस किया जाता है।
NombreClase obj = new NombreClase();
System.out.println(NombreClase.class.getName());
System.out.println(obj.getClass().getName())
आप अपने कक्षा वस्तु का एक उदाहरण पुनः प्राप्त करने के किसी भी वर्ग के नाम के .class
जोड़ सकते हैं।
जब आप Integer.class
का उपयोग करते हैं तो आप Class<Integer>
का एक उदाहरण संदर्भित करते हैं, जो एक टाइप की गई क्लास ऑब्जेक्ट है।
मैंने हमेशा सोचा कि यह एक क्षेत्रीय सदस्य था जिसे संकलक द्वारा जोड़ा गया था, लेकिन ऐसा लगता है कि यह वास्तव में सिंटैक्टिक चीनी है।
एक स्थिर क्षेत्र तक पहुंचने से पहले, आपको कक्षा की आवश्यकता है, इसलिए कक्षा एक क्षेत्र है तो यह परिपत्र होगा। असल में, 'एक्लास' को बस 'class.forName ("ए")' में संकलित किया गया है, इसलिए जादुई कुछ नहीं। – irreputable
कूल ... धन्यवाद! – jahroy
गंभीर रूप से, एक स्पेनिश देशी वक्ता के रूप में, मुझे इस बात से शर्म आती है कि लोग इस तरह के मामलों पर उनकी मदद करने के लिए Google Translator पर अपनी आशा कैसे रखते हैं। –
डेबमोस culpar एक Google अनुवाद entonces। – irreputable
या निराश हो जाएं कि अन्य सभी उपलब्धियों के बावजूद, हमने अभी भी भाषा और समझ में दुनिया को एकजुट करने का मार्ग नहीं रखा है। –