"हाय, अमिगो!"

"हॅलो, ऋषी."

"आज मी तुम्हाला भाष्यांचा सखोल परिचय देईन."

"तुम्हाला कदाचित आधीच माहित आहे की, भाष्ये हे विशेष शब्द आहेत जे वर्ग, फील्ड, पद्धती आणि व्हेरिएबल्सच्या पुढे ठेवले जाऊ शकतात."

"हो. मी त्यांना वारंवार भेटतो."

"कधीकधी त्यांना मेटाडेटा देखील म्हटले जाते . त्यांचा प्राथमिक उद्देश पद्धती, फील्ड आणि वर्गांबद्दल विशिष्ट अतिरिक्त माहिती संग्रहित करणे आहे."

"ते कोणासाठी साठवतात?"

"तो खूप चांगला प्रश्न आहे."

"लोक भाष्ये लिहितात, याचा अर्थ कोणाला तरी त्यांची गरज आहे."

"भाष्ये तुम्हाला कोड आणि प्रोग्राम घटकांबद्दल अतिरिक्त माहिती संचयित करू देतात, परंतु, औपचारिकपणे, ते कोडचा भाग नाहीत."

"एक्सएमएल व्युत्पन्न करण्यासाठी भाष्ये वापरली जाऊ शकतात, पद्धत नापसंत आहे की नाही हे निर्धारित करणे, बग ट्रॅक करणे इ.."

"कोडमधील भाष्यांचे उदाहरण येथे आहे:"

उदाहरण
@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();

@ओव्हरराइड.

"आपण अधिलिखित केलेल्या पद्धतींमध्ये @Override भाष्य जोडणे हा सर्वोत्तम सराव मानला जातो."

"ते कशासाठी आहे? एक पद्धत ओव्हरराइड केली आहे की नाही हे IDEA आधीच दर्शवत नाही?"

"प्रथम, तेथे IDEA आहे आणि नंतर जावा सिंटॅक्स आहे."

"आणि दुसरे, काल्पनिकदृष्ट्या, तुमच्यासाठी अशी परिस्थिती असू शकते जिथे उपवर्गातील पद्धतीच्या नावाशी संबंधित बदल न करता बेस क्लासच्या पद्धतीचे नाव बदलले जाईल. प्रोग्राम अपेक्षेप्रमाणे कार्य करणार नाही, परंतु कोणाच्याही लक्षात येणार नाही. या भाष्याचा शोध लावला गेला. या परिस्थिती होण्यापासून प्रतिबंधित करा:"

उदाहरण
@Override
void getUniqueCatName()
{

}

@SuppressWarnings.

"कधीकधी कंपायलर अनेक इशारे दाखवतो. आणि काहीवेळा आम्हाला «समस्या» बद्दल माहिती असते आणि त्या तयार करणाऱ्या संबंधित कोडचा वापर करणे जाणूनबुजून निवडत असतो. यापैकी काही चेतावणी लपवण्यासाठी तुम्ही हे भाष्य वापरू शकता."

"एक प्रोग्रामर कंपाइलरला सांगण्यासाठी @SuppressWarnings भाष्य वापरू शकतो , "या त्रुटीसाठी चेतावणी दर्शवू नका - हे हेतुपुरस्सर आहे." उदाहरणार्थ:"

उदाहरण
@SuppressWarnings("unchecked")
void getUniqueCatName()
{

}

"समजले."

"मला थोडं थकवा येत आहे. मी माझा कोरडा घसा ओला करणार आहे. ब्रेक नंतर सुरू ठेवूया, ठीक आहे?"

"नक्की."