जावा में .class
का अर्थ क्या है? उदाहरण के लिए, यदि मैंने Print
नामक एक कक्षा बनाई है। Print.class
वापस क्या करता है? java.lang.Class
उद्देश्य यह है कि जानकारी के बारे में किसी वर्ग का प्रतिनिधित्व करता है -जावा में क्लास का क्या अर्थ है?
उत्तर
जब आप एक वर्ग के नाम के बाद .class
लिखते हैं, यह वर्ग शाब्दिक संदर्भ देता है।
उदाहरण के लिए, यदि आपकी कक्षा Print
है, तो Print.class
एक ऑब्जेक्ट है जो रनटाइम पर Print
वर्ग का प्रतिनिधित्व करता है। यह वही ऑब्जेक्ट है जो Print
के किसी भी (प्रत्यक्ष) उदाहरण के getClass()
विधि द्वारा वापस किया जाता है।
Print myPrint = new Print();
System.out.println(Print.class.getName());
System.out.println(myPrint.getClass().getName());
। क्लास का उपयोग तब उपलब्ध होता है जब कक्षा उपलब्ध नहीं होती है।
.getClass() का उपयोग तब किया जाता है जब कक्षा उपलब्ध हो।
object.getClass() दिए गए ऑब्जेक्ट की कक्षा देता है। उदाहरण के लिए:
String string = "hello";
System.out.println(string.getClass().toString());
हो जाएगा ताकि उत्पादन
class java.lang.String
इस स्ट्रिंग वस्तु :)
'getClass() 'केवल तभी उपयोगी है जब आपके पास कक्षा के किसी ऑब्जेक्ट को इंगित करने वाला संदर्भ हो।' ClassName.class' का उपयोग किया जा सकता है भले ही कक्षा में कोई उदाहरण न हो। उदाहरण के लिए, 'Math.class' पर विचार करें। प्रत्येक कुछ स्थितियों के लिए सही है। –
अच्छी व्याख्या ... धन्यवाद !!!! :) – JAVA
शानदार स्पष्टीकरण। इसके बिंदु पर। जानें कि आपने'class' और '.getClass() के बीच भेद को कैसे पहचाना है। ' – Sevastyan
मुझे लगता है कि कुंजी यहाँ एक कक्षा और एक वस्तु के बीच का अंतर समझ है वर्ग है। एक वस्तु कक्षा का एक उदाहरण है। लेकिन पूरी तरह से ऑब्जेक्ट उन्मुख भाषा में, कक्षा भी एक ऑब्जेक्ट है। इसलिए .class
को कॉल करना उस कक्षा के क्लास ऑब्जेक्ट का संदर्भ प्राप्त करता है, जिसे तब कुशलतापूर्वक उपयोग किया जा सकता है।
' पूरी तरह ऑब्जेक्ट-उन्मुख भाषा में, कक्षा भी ऑब्जेक्ट' है? <उद्धरण वांछित> –
तो एक वस्तु का एक उदाहरण के लिए, उपलब्ध तो है अपनी कक्षा प्राप्त करने के लिए सबसे आसान तरीका Object.getClass()
आह्वान करने के लिए .class
सिंटेक्स
हैं प्रकार उपलब्ध है लेकिन कोई उदाहरण है तो यह संभव है प्रकार के नाम पर .class
जोड़कर कक्षा प्राप्त करने के लिए। यह एक प्राचीन प्रकार के लिए कक्षा प्राप्त करने का सबसे आसान तरीका भी है।
boolean b;
Class c = b.getClass(); // compile-time error
Class c = boolean.class; // correct
देखें: docs.oracle.com about class
अगर कोई उदाहरण उपलब्ध तो .class
वाक्य रचना अन्यथा आप getClass() विधि का उपयोग कक्षा वस्तु प्राप्त करने के लिए कर सकते हैं एक वर्ग के लिए इसी वर्ग वस्तु प्राप्त करने के लिए प्रयोग किया जाता है। चूंकि, आदिम डेटा प्रकार का कोई उदाहरण नहीं है, हमें प्राचीन डेटा प्रकारों के लिए .class
वाक्यविन्यास का उपयोग करना होगा।
package test;
public class Test {
public static void main(String[] args)
{
//there is no instance available for class Test, so use Test.class
System.out.println("Test.class.getName() ::: " + Test.class.getName());
// Now create an instance of class Test use getClass()
Test testObj = new Test();
System.out.println("testObj.getClass().getName() ::: " + testObj.getClass().getName());
//For primitive type
System.out.println("boolean.class.getName() ::: " + boolean.class.getName());
System.out.println("int.class.getName() ::: " + int.class.getName());
System.out.println("char.class.getName() ::: " + char.class.getName());
System.out.println("long.class.getName() ::: " + long.class.getName());
}
}
बस स्पष्ट करने के लिए, इस '.class' विधि बाईटकोड फ़ाइल आप जावा कोड और न ही OOP सिद्धांत में कक्षा बनाम वस्तु की अवधारणाओं के बीच एक भ्रम संकलन के बाद देखने की बात नहीं कर रहा है।
यह '.class' विधि कोड प्रतिबिंब के लिए जावा में उपयोग की जाती है। आम तौर पर आप अपनी कक्षा के लिए मेटा डेटा एकत्र कर सकते हैं जैसे पूर्ण योग्य वर्ग का नाम, स्थिरांक की सूची, सार्वजनिक क्षेत्रों की सूची इत्यादि।
चेक इन कड़ियों (पहले से ही ऊपर उल्लेख किया है) सभी विवरण प्राप्त करने के लिए:
https://docs.oracle.com/javase/tutorial/reflect/class/classNew.html
https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html
आम तौर पर आप प्रतिबिंब अभी प्रयोग पर योजना नहीं है जब आप अपनी परियोजना का निर्माण शुरू। यह ऐसा कुछ है जिसे आप जानते हैं कि आपको पहले से ही काम करने वाले कोड को प्रबंधित करने की कोशिश करने के बाद आवश्यकता है। कई बार आपको अपने कार्यक्रम के कई उदाहरणों को प्रबंधित करने की आवश्यकता होती है। हो सकता है कि आप यह निर्धारित करने के लिए प्रत्येक विशेष 'क्लोन' की पहचान करना चाहते हैं कि कुछ पहले से ही परिभाषित किया गया है या कार्यों की संख्या गिनती है, या बस अपनी कक्षा के किसी विशेष उदाहरण के विवरण को लॉग इन करें।
एक कक्षा शाब्दिक एक अभिव्यक्ति है जिसमें एक वर्ग, इंटरफेस, सरणी, या आदिम प्रकार, या छद्म प्रकार के शून्य का नाम होता है, जिसके बाद '।' और टोकन वर्ग। JDK 5.0 में परिवर्तनों में से एक, java.lang.Class Class<T>
, उस वर्ग java.lang.Class सामान्य है इसलिए:
Class<Print> p = Print.class;
यहाँ संदर्भ:
https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html
http://docs.oracle.com/javase/tutorial/extra/generics/literals.html
http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.8.2
- 1. "कॉन्स्ट क्लास" का क्या अर्थ है?
- 2. जावा में, नाएन का क्या अर्थ है?
- 3. जावा में "सिंक्रनाइज़" का अर्थ क्या है?
- 4. जावा में @ चिह्न का अर्थ क्या है?
- 5. जावा में, क्लास क्लास का संदर्भ क्या करता है?
- 6. इस जावा त्रुटि का क्या अर्थ है?
- 7. जावा क्लास लोडर का उद्देश्य क्या है?
- 8. लेमन शब्दों में, जावा में 'स्थैतिक' का अर्थ क्या है?
- 9. बिजनेस क्लास और डोमेन क्लास के बीच क्या अंतर है? लगातार कक्षाओं का क्या अर्थ है?
- 10. मैवेन सिंटैक्स में **/* का क्या अर्थ है?
- 11. सीरियलज़ेबल का क्या अर्थ है?
- 12. लेनदेन का अर्थ क्या है?
- 13. 4j का क्या अर्थ है?
- 14. जावा में एक पीयर क्लास क्या है?
- 15. जावा में सिसो-स्टेटमेंट का क्या अर्थ है?
- 16. जावा में इस वर्ग की घोषणा का अर्थ क्या है?
- 17. जावा में <?> टोकन का अर्थ क्या है?
- 18. जावा 7 में "गैर-अपारदर्शी मान" का अर्थ क्या है?
- 19. जावा में मानचित्र <?, ?> का अर्थ क्या है?
- 20. विस्फोटित विकास का क्या अर्थ है? (जावा में)
- 21. जावा में कीवर्ड "क्षणिक" का क्या अर्थ है?
- 22. जावा में स्थिर फ़ील्ड का सटीक अर्थ क्या है?
- 23. जावा कोड में प्रत्यय 'एफ' का क्या अर्थ है?
- 24. जावा सिंटेक्स में स्टेटिक {} का क्या अर्थ है?
- 25. जावा में चार शून्य (0) का अर्थ क्या है?
- 26. जावा में इन विशेष वर्णों का क्या अर्थ है?
- 27. {} का क्या अर्थ है?
- 28. "===" का क्या अर्थ है?
- 29. "थ्रेड डंप" का अर्थ क्या है
- 30. पायथन में "|" चिह्न का क्या अर्थ है?
http://docs.oracle.com/javase/tutorial/reflect/class/classNew.html –
मुझे डर है कि मैं पूरी तरह से समझ नहीं पा रहा हूं कि आप क्या पूछ रहे हैं। यदि आप थोड़ा और विस्तार कर सकते हैं, तो कोई आपको अधिक उपयोगी जानकारी प्रदान करने में सक्षम हो सकता है –
यह निश्चित रूप से मेरे लिए एक वास्तविक प्रश्न जैसा दिखता है। मैं सिर्फ यह सवाल खुद ही पूछ रहा था, और एक त्वरित Google खोज के बाद खुद को यहां पाया। मुझे लगता है कि अगर मुझे पता चलेगा कि मेरा सवाल असली नहीं था तो मुझे परेशान नहीं होना चाहिए था! –