"హాయ్, అమిగో!"

"హలో, రిషీ."

"ఈ రోజు నేను మీకు ఉల్లేఖనాలకు లోతైన పరిచయం ఇస్తాను."

"మీకు ఇప్పటికే తెలిసినట్లుగా, ఉల్లేఖనాలు ప్రత్యేక పదాలు, వీటిని తరగతులు, ఫీల్డ్‌లు, పద్ధతులు మరియు వేరియబుల్స్ పక్కన ఉంచవచ్చు."

"అవును. నేను వారిని చాలా తరచుగా కలుస్తాను."

"కొన్నిసార్లు వాటిని మెటాడేటా అని కూడా పిలుస్తారు . పద్ధతులు, ఫీల్డ్‌లు మరియు తరగతుల గురించి నిర్దిష్ట అదనపు సమాచారాన్ని నిల్వ చేయడం వారి ప్రాథమిక ఉద్దేశ్యం."

"వారు దానిని ఎవరి కోసం నిల్వ చేస్తారు?"

"ఇది చాలా మంచి ప్రశ్న."

"వ్యక్తులు ఉల్లేఖనాలను వ్రాస్తారు, అంటే ఎవరికైనా అవి అవసరం."

"ఉల్లేఖనాలు కోడ్ మరియు ప్రోగ్రామ్ మూలకాల గురించి అదనపు సమాచారాన్ని నిల్వ చేయడానికి మిమ్మల్ని అనుమతిస్తాయి, కానీ, అధికారికంగా, అవి కోడ్‌లో భాగం కాదు."

"ఉల్లేఖనాలను XMLని రూపొందించడానికి ఉపయోగించవచ్చు, ఒక పద్ధతి నిలిపివేయబడిందో లేదో నిర్ణయించడం, బగ్‌లను ట్రాక్ చేయడం మొదలైనవి."

"కోడ్‌లోని ఉల్లేఖనాల ఉదాహరణ ఇక్కడ ఉంది:"

ఉదాహరణ
@CatInfo(manager=Catmanager.class, unique=true)
class Cat
{
 @Name("Missy")
 private String name;

 @SuppressWarnings(value = "unchecked")
 void getUniqueCatName()
 {

 }
}

"మీరు చూడగలిగినట్లుగా, డేటా ఉల్లేఖనాల్లో నిల్వ చేయబడుతుంది."

"ఉల్లేఖనానికి విలువ అని పిలువబడే ఒక ఫీల్డ్ మాత్రమే ఉంటే , ఫీల్డ్ పేరు విస్మరించబడుతుంది:"

ఉదాహరణ
@SuppressWarnings("unchecked")
void getUniqueCatName()
{

}

"కుండలీకరణాల లోపల పారామితులు లేకుంటే, వాటిని కూడా విస్మరించవచ్చు:"

ఉదాహరణ
@Override
void getUniqueCatName()
{

}

"మీ స్వంత ఉల్లేఖనాన్ని సృష్టించడం చాలా సులభం. ఉల్లేఖనాన్ని ప్రకటించడం అనేది ఇంటర్‌ఫేస్‌ను ప్రకటించడానికి దాదాపు సమానంగా ఉంటుంది."

ఉదాహరణ
@interface CatManager
{
 Class manager();
 boolean unique();
 String name() default "Unknown Cat";
}

"ఒక్క రెండు తేడాలు మాత్రమే ఉన్నాయి."

"మొదట, మీరు పదం ఇంటర్‌ఫేస్ ముందు «@» గుర్తును ఉంచారు ."

"రెండవది, ఉల్లేఖనం డిఫాల్ట్ విలువలను కలిగి ఉంటుంది. మీరు డిఫాల్ట్ విలువలను సెట్ చేయడానికి డిఫాల్ట్ పదాన్ని ఉపయోగిస్తారు . ఎగువ ఉదాహరణను చూడండి. ఈ పారామితులు ఐచ్ఛికం మరియు ఉల్లేఖనాలను జోడించేటప్పుడు విస్మరించబడతాయి."

"ఆహ్. ఇది నేను అనుకున్నదానికంటే చాలా సులభం. మరియు రోబో-డెవిల్ పవిత్ర జలాన్ని తప్పించినట్లు నేను వాటిని తప్పించుకుంటున్నాను. కోడ్‌లో మీకు పూర్తిగా అర్థం కాని చాలా విషయాలు ఉన్నప్పుడు ఇది చాలా ఆహ్లాదకరంగా ఉండదు."

"ఓహ్, మీరు నాకు గుర్తు చేసినందుకు బాగుంది — కంపైలర్ ఉపయోగించిన ఉల్లేఖనాల గురించి నేను మీకు మరింత చెప్పాలనుకుంటున్నాను."

"ఇలాంటి ఉల్లేఖనాలు కేవలం 3 మాత్రమే ఉన్నాయి. సరే, ఇప్పటికి మూడు."

@విస్మరించబడింది.

"మీరు @Deprecatedతో తరగతిని లేదా పద్ధతిని ఉల్లేఖించవచ్చు. దీని వలన కంపైలర్ హెచ్చరికను జారీ చేస్తుంది (హెచ్చరిక లోపం కాదు), మరియు IntelliJ IDEA ఈ పద్ధతిని స్ట్రైక్‌త్రూ టెక్స్ట్‌గా ప్రదర్శిస్తుంది. ఇలాంటివి  :

ఉదాహరణ
Date date = new Date();
int year = date.getYear();

@ఓవర్‌రైడ్.

"మీరు భర్తీ చేసే పద్ధతులకు @ఓవర్రైడ్ ఉల్లేఖనాన్ని జోడించడం ఉత్తమ అభ్యాసంగా పరిగణించబడుతుంది."

"అది దేనికి? IDEA ఇప్పటికే ఒక పద్ధతిని అధిగమించిందో లేదో చూపలేదా?"

"మొదట, IDEA ఉంది మరియు జావా సింటాక్స్ ఉంది."

"మరియు రెండవది, ఊహాత్మకంగా, సబ్‌క్లాస్‌లోని పద్ధతి పేరుకు సంబంధిత మార్పు లేకుండా బేస్ క్లాస్ పద్ధతి పేరు మార్చబడే పరిస్థితిని మీరు కలిగి ఉండవచ్చు. ప్రోగ్రామ్ ఆశించిన విధంగా పని చేయదు, కానీ ఎవరూ గమనించలేరు. ఈ ఉల్లేఖన కనుగొనబడింది ఈ పరిస్థితులు జరగకుండా నిరోధించండి:"

ఉదాహరణ
@Override
void getUniqueCatName()
{

}

@SuppressWarnings.

"కొన్నిసార్లు కంపైలర్ చాలా హెచ్చరికలను ప్రదర్శిస్తుంది. మరియు కొన్నిసార్లు మనకు «సమస్యలు» గురించి తెలుసు మరియు ఉద్దేశపూర్వకంగా వాటిని సృష్టించే సంబంధిత కోడ్‌ని ఉపయోగించాలని ఎంచుకుంటున్నాము. మీరు ఈ హెచ్చరికలలో కొన్నింటిని దాచడానికి ఈ ఉల్లేఖనాన్ని ఉపయోగించవచ్చు."

"ఒక ప్రోగ్రామర్ కంపైలర్‌కి చెప్పడానికి @SuppressWarnings ఉల్లేఖనాన్ని ఉపయోగించవచ్చు , «ఈ లోపం కోసం హెచ్చరికను చూపవద్దు - ఇది ఉద్దేశపూర్వకంగా ఉంది." ఉదాహరణకి:"

ఉదాహరణ
@SuppressWarnings("unchecked")
void getUniqueCatName()
{

}

"దొరికింది."

"నాకు కొంచం అలసిపోతోంది. ఎండిపోయిన నా గొంతుని తడిపేస్తాను. విరామం తర్వాత కంటిన్యూ చేద్దాం, సరేనా?"

"తప్పకుండా."