दिलचस्प पोस्ट
सीएक्सएफ या जेएक्स-डब्लूएस जेनरेटेड webservice क्लाइंट में डब्ल्यूएसडीएल स्थान को निर्दिष्ट करने की आवश्यकता से कैसे बचें? एसक्यूएल: अधिकतम प्रति समूह का पता लगाएं पायथन में स्ट्रिंग के रूप में फ़ंक्शन का नाम कैसे प्राप्त करें? JSF पृष्ठ में एक EL वैरिएबल को परिभाषित करना और पुनः उपयोग करना पीएल / एसक्यूएल में एक स्ट्रिंग को विभाजित करने के लिए कोई फंक्शन है? जावास्क्रिप्ट में "प्राप्त" अनुरोध पैरामीटर कैसे प्राप्त करें? एडीओडीबी और सामान्य वेबसाइट सुरक्षा में एसक्यूएल इंजेक्शन कैसे RelativeLayout प्रोग्राम में दृश्यों को बाहर रखना है? jQuery का चयनकर्ता: आईडी समाप्त होता है? Angular2 QuickStart npm प्रारंभ ठीक से काम नहीं कर रहा है लॉगरिदमिक स्केल और कस्टम ब्रेक के साथ हिस्टोग्राम संसाधन रिसाव: 'इन' कभी बंद नहीं होता है मैं Django टेम्पलेट्स में छवि फ़ाइलों को कैसे शामिल करूं? मिनगू लिंकर त्रुटि: विनसॉक ओएस एक्स शेर / माउंटेन शेर Xcode के साथ ओपनसीवी (2.3.1+) संकलित करें

जावा में क्लास का शाब्दिक क्या है?

जावा ट्यूटोरियल से :

अंत में, एक विशिष्ट प्रकार का शाब्दिक शब्द शाब्दिक कहा जाता है, एक प्रकार का नाम लेकर और " .class " को जोड़कर; उदाहरण के लिए, String.class यह ऑब्जेक्ट (प्रकार Class ) को संदर्भित करता है जो कि स्वयं का प्रतिनिधित्व करता है

किस प्रकार का चर इस शाब्दिक को सौंपा जा सकता है?

यदि संभव हो तो कृपया एक छोटा उदाहरण दें

वेब के समाधान से एकत्रित समाधान "जावा में क्लास का शाब्दिक क्या है?"

 Class<String> c = String.class; 

जवाडॉक के लिए java.lang.Class देखें, यह देखने के लिए कि आप इनमें से किसी एक के साथ क्या कर सकते हैं – ज्यादातर प्रतिबिंब से संबंधित हैं

यह समझने के लिए, आपको यह समझना होगा कि स्ट्रिंग क्लास कक्षा का एक उदाहरण (ऑब्जेक्ट) है। एक स्ट्रिंग शब्दशः (उदाहरण के लिए, "मैं एक स्ट्रिंग हूं") एक संकेतन है जो क्लास स्ट्रिंग के एक उदाहरण (ऑब्जेक्ट) का प्रतिनिधित्व करता है, जबकि एक क्लास शाब्दिक (उदाहरण के लिए हैशटेबल। क्लास ) एक संकेतन है जो क्लास क्लास का उदाहरण दर्शाता है।

यहां अन्य अच्छे उत्तरों के लिए धन्यवाद, आप जानते हैं कि यह क्या है, लेकिन यहां एक सामान्य उपयोग उदाहरण है जो यह भी स्पष्ट कर सकता है:

  private static Logger log = Logger.getLogger(YourClassHere.class); 

जैसा कि कोड बताता है, यह एक पंक्ति है जहां हम एक लॉगिंग ढांचे को प्रारंभ कर रहे हैं (इस उदाहरण में, मैं org.apache.log4j पैकेज का उपयोग कर रहा हूं, लेकिन सिद्धांत अन्य फ़्रेमवर्कों तक फैलता है)। getLogger() विधि को एक वर्ग की शाब्दिक आवश्यकता है, इसलिए यह जानता है कि यह क्या प्रवेश करना है (अर्थात वर्तमान वस्तु का वर्ग)।

जेएलएस के मुताबिक

15.8.2 क्लास लीटरल

एक क्लास शाब्दिक एक अभिव्यक्ति है जिसमें एक वर्ग, इंटरफ़ेस, सरणी, या आदिम प्रकार के नाम शामिल हैं, जिसके बाद एक . और टोकन class क्लास का शाब्दिक प्रकार Class यह वर्तमान प्रकार के वर्ग के परिभाषित वर्ग लोडर द्वारा परिभाषित के रूप में नामित प्रकार (या void ) के लिए क्लास ऑब्जेक्ट का मूल्यांकन करता है।

कुछ सामान्य उपयोग क्लाइंट लीटरल में रनटाइम-टाइप टोकन के रूप में मिल सकते हैं

शाब्दिक ही MyClass यदि आप MyClass.class लिखते हैं तो आपको क्लास ऑब्जेक्ट के लिए संदर्भ मिलता है। यदि आप new MyClass() लिखते हैं, तो यह आपको MyClass.class द्वारा प्राप्त क्लास ऑब्जेक्ट का एक उदाहरण प्राप्त करने के लिए शाब्दिक उपयोग करता है। उदाहरण से आप myClassInstance.getClass() को कॉल करके एक ही वर्ग ऑब्जेक्ट प्राप्त करते हैं।

मैं 100% निश्चित नहीं हूं, लेकिन शाब्दिक स्वयं किसी भी चर के लिए नहीं आवंटित किया जा सकता है। आप क्या कर सकते हैं वर्ग के नाम को स्ट्रिंग के रूप में मिल रहा है और एक उदाहरण बनाने के लिए प्रतिबिंब ढांचे का उपयोग करें।

उदाहरणों में ऐसा कुछ ऐसा है:

 Class myClass = MyClass.class 

या

 MyClass.class.getResourceAsStream("config.properties"); 

यह समझने के लिए, आपको यह समझना होगा कि String अपने superclass (parent class) Object का एक instance (object) है

class String का instance (object) का मान एक String literal (जैसे "I am a string." ):

 class | instance (object) | literal ------------------------------------------------ String | instance_name = | "I am a string." 

जबकि class Object के instance (object) का मान Class literal – (उदाहरण के लिए Hashtable.class Class literal ) जो class Hashtable के instance (object) को संदर्भित करता है

 class | instance (object) | literal ------------------------------------------------ Hashtable | instance_name | Hashtable. 

जब JVM आपकी ऐप्लिकेशन कक्षाओं को लोड करता है, तो वह उन्हें java.class.Class ऑब्जेक्ट्स के साथ java.class.Class है। इसलिए, आमतौर पर स्मृति के प्रकार Class कई उदाहरण हैं जो आपकी कक्षाओं का प्रतिनिधित्व करता है तो आप ऐसा कुछ कर सकते हैं:

 Class<Bicycle> bicycleClass = Bicycle.class; // returns the object storing your Bicycle class bicycleClass.getName(); // returns your class name bicycleClass.getDeclaredMethods(); // returns your (declared) class methods