CodeGym /Java Blog /अनियमित /एनोटेशन। भाग 1 - थोड़ा उबाऊ
John Squirrels
स्तर 41
San Francisco

एनोटेशन। भाग 1 - थोड़ा उबाऊ

अनियमित ग्रुप में प्रकाशित
भाग 1। मैंने संक्षेप में स्रोत और वर्ग प्रकार के एनोटेशन के बारे में लिखा है। यह पढ़ने योग्य है, ताकि दूसरे भाग में खो जाने से बचने के लिए और अपनी "गलतफहमी" को थोड़ा विस्तारित करने के लिए =) मैं वादा करता हूँ कि निश्चित रूप से कम से कम एक शब्द होगा जिसे आप जानते हैं! एनोटेशन।  भाग 1 — थोड़ा उबाऊ - 1 पहली बार जब मैंने कार्यों में एनोटेशन देखा तो मैंने किसी तरह उन पर ज्यादा ध्यान नहीं दिया। यहाँ और वहाँ @Override है, लेकिन IDEA इसे जोड़ता है, इसलिए मुझे लगा कि इसे उसी तरह होना चाहिए। समय के साथ, मुझे एहसास हुआ कि सब कुछ बहुत गहरा है। जैसा कि आप अध्ययन करते हैं, एनोटेशन कुछ हद तक बेकार लेकिन आवश्यक लग सकते हैं। आप नहीं जानते कि वे क्यों मौजूद हैं या वे क्या करते हैं। आपने कुछ ऐसे लेख पढ़े हैं जिनमें कहा गया है, "यह बहुत अच्छा है कि अब हमारे पास एनोटेशन हैं, सब कुछ इतना सरल हो गया है।" लेकिन मुझे नहीं पता था कि चीजें पहले कैसी थीं, और मुझे समझ नहीं आया कि चीजें अब आसान हैं। अब मैं जानता हूं और थोड़ा साझा करना चाहता हूं। (RetentionPolicy) एनोटेशन 3 प्रकार के होते हैं:
  • स्रोत - संकलक के लिए एनोटेशन
  • क्लास - एनोटेशन से जानकारी बायटेकोड में लिखी जाएगी लेकिन रनटाइम पर उपलब्ध नहीं होगी। वे कहते हैं कि मानक पुस्तकालय में इस प्रकार के कई एनोटेशन हैं, जिन्हें अब पिछड़े संगतता के लिए रखा गया है। इसका उपयोग बहुत ही विशिष्ट कार्यों के लिए किया जाता है।
  • स्टैक ओवरफ्लो पर क्यू एंड ए
  • RUNTIME — ये एनोटेशन सबसे लोकप्रिय हैं। कोड निष्पादित होने के दौरान उनका उपयोग किया जाता है।
परिचय लेख का हिस्सा है, इसलिए मैं यहां SOURCE और CLASS एनोटेशन के बारे में लिखूंगा। ये वे एनोटेशन हैं जो मुझे मिल सकते हैं (कार्य 3607 के लिए धन्यवाद)। मैं रनटाइम एनोटेशन को संबोधित नहीं करूंगा - उनमें से बहुत सारे हैं और वे इस लेख का विषय नहीं हैं। स्रोत:
  • जावा/लैंग/एनोटेशन/नेटिव क्लास;
  • जावा/लैंग/SuppressWarnings.class
  • जावैक्स/एनोटेशन/जेनरेटेड क्लास
  • जावा/लैंग/ओवरराइड.क्लास
कक्षा: मुझे नहीं पता कि क्लास एनोटेशन क्यों जरूरी हैं। मौजूदा एनोटेशन के लिए प्रलेखन कहीं नहीं मिला है, इसलिए मुझे लगता है कि आप इस सामान को पीछे छोड़ सकते हैं। लेकिन अगर आपको यह मिल जाए तो कृपया साझा करें। स्रोत एनोटेशन:
  1. नेटिव - इस एनोटेशन वाला एक वेरिएबल नेटिव कोड को संदर्भित कर सकता है;
  2. SuppressWarnings — यह एनोटेशन विभिन्न कंपाइलर चेतावनियों को दबा देता है;
  3. जनरेट किया गया — यह एनोटेशन जेनरेट किए गए स्रोत कोड को चिन्हित करता है;
  4. ओवरराइड - यह एनोटेशन चेक विधि ओवरराइड करता है।
अधिक जानकारी के लिए:

@देशी

देशी - मैंने इसे कभी नहीं देखा और कभी इसका इस्तेमाल नहीं किया। मुझे लगता है कि यह एक दुर्लभ एनोटेशन है, क्योंकि इसका उपयोग तब किया जाता है जब आपको किसी अन्य "देशी" भाषा में कोड चलाने की आवश्यकता होती है। मैंने कोशिश की और इसका स्पष्ट उल्लेख खोजने में असफल रहा।

@चेतावनियों को दबाना

SuppressWarnings — इस एनोटेशन का उपयोग अक्सर इस तरह किया जाता है: @SuppressWarnings("unchecked")। इसका उपयोग उन चेतावनियों को दबाने के लिए किया जाता है जिनके बारे में आप पहले से ही जानते हैं। पिछला उदाहरण अनियंत्रित प्रकार के रूपांतरणों के बारे में चेतावनियों को दबा देता है। दोबारा, यह एकमात्र उपयोग है जिसका मैंने सामना किया है।

@उत्पन्न

जेनरेट किया गया - मैं अभी इस एनोटेशन में एक असाइनमेंट के कारण चल रहा हूं जहां मुझे एक्सएसडी फाइलों से कक्षाएं उत्पन्न करनी हैं। ये 3 एनोटेशन काफी विशिष्ट हैं और वर्तमान में आपके लिए सबसे अधिक अरुचिकर हैं। मैं आखिरी का वर्णन करूंगा।

@Override

ओवरराइड - आप इसे लगातार इस्तेमाल करते हैं और यह कुछ बहुत उपयोगी करता है। किसी विधि को ओवरराइड करते समय, IDEA की सहायता के बिना गलती करना आसान होता है। चाहे टाइपोस हों या साधारण त्रुटियां, गलतियां होती हैं। यह एनोटेशन सुनिश्चित करेगा कि मूल वर्ग में विधि हमारी (एनोटेटेड) विधि से मेल खाती है। यह सुनिश्चित करता है कि विधि जोड़ने के बजाय ओवरराइड की जाएगी। कोड को रीफैक्टरिंग करते समय, मूल विधि को हटाया या बदला जा सकता है। दोबारा, यह एनोटेशन एक त्रुटि इंगित करेगा। इसके बिना, हमारी विधि बस जोड़ दी जाएगी। उबाऊ? मैं हाँ कहूँगा। इस लेख से बहुत मदद नहीं मिली है। यहां लगभग सब कुछ (90%) कुछ ऐसा वर्णन करता है जिसका आप कभी उपयोग नहीं करेंगे या केवल बहुत ही कम। शेष 10% हैलो कह रहे हैं और @Override एनोटेशन का वर्णन कर रहे हैं, जो पहली नज़र में बेकार है। उस ने कहा, मुझे लगता है कि लेख के दूसरे भाग में और अधिक दिलचस्प होगा। RUNTIME एनोटेशन पर चर्चा होगी - वे निष्पादन के दौरान कोड के साथ इंटरैक्ट करते हैं और काला जादू करते हैं। एनोटेशन। भाग 2. लोम्बोक
टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION