పార్ట్ 1. నేను SOURCE మరియు CLASS రకం ఉల్లేఖనాల గురించి చాలా క్లుప్తంగా వ్రాసాను. ఇది చదవడం విలువైనది, కాబట్టి రెండవ భాగంలో కోల్పోకుండా ఉండటానికి మరియు మీ "అపార్థాన్ని" కొంచెం విస్తరించడానికి =) మీకు తెలిసిన కనీసం ఒక పదం ఖచ్చితంగా ఉంటుందని నేను హామీ ఇస్తున్నాను! ఉల్లేఖనాలు.  పార్ట్ 1 — కొంచెం బోరింగ్ - 1 నేను మొదటి సారి ఇక్కడ టాస్క్‌లలో ఉల్లేఖనాలను చూసినప్పుడు నేను వాటిని పెద్దగా పట్టించుకోలేదు. అక్కడ మరియు ఇక్కడ @ఓవర్‌రైడ్ ఉంది, కానీ IDEA దానిని జోడిస్తుంది, కనుక ఇది అలా ఉండాలని నేను భావించాను. కాలక్రమేణా, ప్రతిదీ చాలా లోతుగా ఉందని నేను గ్రహించాను. మీరు అధ్యయనం చేస్తున్నప్పుడు, ఉల్లేఖనాలు కొంత పనికిరానివిగా అనిపించవచ్చు కానీ అవసరం. అవి ఎందుకు ఉన్నాయో, ఏం చేస్తున్నాయో మీకు తెలియదు. "మాకు ఇప్పుడు ఉల్లేఖనాలు ఉండటం చాలా గొప్పది, ప్రతిదీ చాలా సరళంగా మారింది" అని మీరు రెండు కథనాలను చదివారు. కానీ ఇంతకు ముందు విషయాలు ఎలా ఉన్నాయో నాకు తెలియదు మరియు ఇప్పుడు విషయాలు తేలికగా ఉన్నాయని నాకు అర్థం కాలేదు. ఇప్పుడు నాకు తెలుసు మరియు కొంచెం పంచుకోవాలనుకుంటున్నాను. 3 రకాల (నిలుపుదల విధానం) ఉల్లేఖనాలు ఉన్నాయి:
  • మూలం - కంపైలర్ కోసం ఉల్లేఖనాలు
  • క్లాస్ — ఉల్లేఖనం నుండి సమాచారం బైట్‌కోడ్‌లో వ్రాయబడుతుంది కానీ రన్‌టైమ్‌లో అందుబాటులో ఉండదు. స్టాండర్డ్ లైబ్రరీలో ఈ రకమైన అనేక ఉల్లేఖనాలు ఉన్నాయని, ఇది ఇప్పుడు వెనుకబడిన అనుకూలత కోసం అలాగే ఉంచబడిందని వారు చెప్పారు. ఇది చాలా నిర్దిష్ట పనులకు ఉపయోగించబడుతుంది.
  • స్టాక్‌ఓవర్‌ఫ్లో ప్రశ్నోత్తరాలు
  • రన్‌టైమ్ — ఈ ఉల్లేఖనాలు అత్యంత ప్రజాదరణ పొందినవి. కోడ్ అమలులో ఉన్నప్పుడు అవి ఉపయోగించబడతాయి.
పరిచయం వ్యాసంలో కొంత భాగాన్ని తీసుకుంది, కాబట్టి నేను ఇక్కడ SOURCE మరియు CLASS ఉల్లేఖనాల గురించి వ్రాస్తాను. ఇవి నేను కనుగొన్న ఉల్లేఖనాలు (టాస్క్ 3607కి ధన్యవాదాలు). నేను రన్‌టైమ్ ఉల్లేఖనాలను ప్రస్తావించను — వాటిలో చాలా ఉన్నాయి మరియు అవి ఈ కథనం యొక్క అంశం కాదు. మూలం:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/annotation/Generate.class
  • java/lang/Override.class
తరగతి: క్లాస్ ఉల్లేఖనాలు ఎందుకు అవసరమో నాకు తెలియదు. ఇప్పటికే ఉన్న ఉల్లేఖనాల కోసం డాక్యుమెంటేషన్ ఎక్కడా కనుగొనబడలేదు, కాబట్టి మీరు ఈ బ్యాగేజీని వదిలివేయవచ్చని నేను భావిస్తున్నాను. అయితే మీకు దొరికితే షేర్ చేయండి. SOURCE ఉల్లేఖనాలు:
  1. స్థానిక — ఈ ఉల్లేఖనంతో కూడిన వేరియబుల్ స్థానిక కోడ్‌ను సూచించవచ్చు;
  2. అణచివేయు హెచ్చరికలు - ఈ ఉల్లేఖనం వివిధ కంపైలర్ హెచ్చరికలను అణిచివేస్తుంది;
  3. రూపొందించబడింది - ఈ ఉల్లేఖనం సృష్టించబడిన సోర్స్ కోడ్‌ను సూచిస్తుంది;
  4. ఓవర్‌రైడ్ - ఈ ఉల్లేఖన పద్ధతి ఓవర్‌రైడ్‌లను తనిఖీ చేస్తుంది.
మరిన్ని వివరములకు:

@స్థానికుడు

స్థానికుడు — నేను దీన్ని ఎప్పుడూ చూడలేదు మరియు ఉపయోగించలేదు. ఇది చాలా అరుదైన ఉల్లేఖనమని నేను భావిస్తున్నాను, ఎందుకంటే మీరు మరొక "స్థానిక" భాషలో కోడ్‌ని అమలు చేయవలసి వచ్చినప్పుడు ఇది ఉపయోగించబడుతుంది. నేను దాని గురించి స్పష్టమైన ప్రస్తావనను కనుగొనడానికి ప్రయత్నించాను మరియు విఫలమయ్యాను.

@SuppressWarnings

అణిచివేసే హెచ్చరికలు — ఈ ఉల్లేఖన తరచుగా ఇలా ఉపయోగించబడుతుంది: @SuppressWarnings("చెక్ చేయబడలేదు"). ఇది మీకు ఇప్పటికే తెలిసిన హెచ్చరికలను అణచివేయడానికి ఉపయోగించబడుతుంది. మునుపటి ఉదాహరణ ఎంపిక చేయని రకం మార్పిడుల గురించి హెచ్చరికలను అణిచివేస్తుంది. మళ్ళీ, నేను ఎదుర్కొన్న ఏకైక ఉపయోగం ఇదే.

@సృష్టించబడింది

రూపొందించబడింది — నేను XSD ఫైల్‌ల నుండి తరగతులను రూపొందించాల్సిన అసైన్‌మెంట్ కారణంగా ప్రస్తుతం ఈ ఉల్లేఖనాన్ని అమలు చేస్తున్నాను. ఈ 3 ఉల్లేఖనాలు చాలా నిర్దిష్టంగా ఉన్నాయి మరియు ప్రస్తుతం మీకు ఆసక్తి లేనివిగా ఉంటాయి. నేను చివరిదాన్ని వివరిస్తాను.

@ఓవర్‌రైడ్

ఓవర్‌రైడ్ - మీరు దీన్ని నిరంతరం ఉపయోగిస్తున్నారు మరియు ఇది చాలా ఉపయోగకరంగా ఉంటుంది. ఒక పద్ధతిని భర్తీ చేసినప్పుడు, IDEA సహాయం లేకుండా తప్పు చేయడం సులభం. అక్షరదోషాలు లేదా సాధారణ తప్పులు, తప్పులు జరుగుతాయి. ఈ ఉల్లేఖనం మాతృ తరగతిలోని పద్ధతి మా (ఉల్లేఖన) పద్ధతికి సరిపోలుతుందని నిర్ధారిస్తుంది. ఇది పద్ధతి జోడించబడకుండా భర్తీ చేయబడుతుందని నిర్ధారిస్తుంది. కోడ్‌ని రీఫ్యాక్టరింగ్ చేసేటప్పుడు, పేరెంట్ పద్ధతిని తీసివేయవచ్చు లేదా మార్చవచ్చు. మళ్ళీ, ఈ ఉల్లేఖనం లోపాన్ని సూచిస్తుంది. అది లేకుండా, మా పద్ధతి కేవలం జోడించబడుతుంది. బోరింగ్? నేను అవును అంటాను. ఈ కథనం నుండి సేకరించడానికి చాలా ఉపయోగకరంగా లేదు. ఇక్కడ దాదాపు ప్రతిదీ (90%) మీరు ఎప్పటికీ ఉపయోగించని లేదా చాలా అరుదుగా మాత్రమే వివరిస్తుంది. మిగిలిన 10% మంది @Override ఉల్లేఖనానికి హలో చెబుతూ మరియు వివరిస్తున్నారు, ఇది మొదటి చూపులో పనికిరానిది. వ్యాసం యొక్క రెండవ భాగంలో మరింత ఆసక్తికరంగా ఉంటుందని నేను భావిస్తున్నాను. అక్కడ RUNTIME ఉల్లేఖనాలను చర్చిస్తారు — అవి అమలు సమయంలో కోడ్‌తో పరస్పర చర్య చేస్తాయి మరియు బ్లాక్ మ్యాజిక్ చేస్తాయి. ఉల్లేఖనాలు. పార్ట్ 2. లాంబాక్