“สวัสดี อามีโก้!”

“สวัสดีครับคุณริชชี่”

"วันนี้ฉันจะแนะนำคุณอย่างลึกซึ้งยิ่งขึ้นเกี่ยวกับคำอธิบายประกอบ"

"อย่างที่คุณอาจทราบอยู่แล้วว่า คำอธิบายประกอบคือคำพิเศษที่สามารถใส่ไว้ข้างคลาส ฟิลด์ เมธอด และตัวแปร"

“ใช่ค่ะ ฉันเจอบ่อยมาก”

"บางครั้งเรียกอีกอย่างว่าข้อมูลเมตาจุดประสงค์หลักคือเก็บข้อมูลเพิ่มเติมเฉพาะเกี่ยวกับเมธอด ฟิลด์ และคลาส"

“เก็บไว้ให้ใคร”

"นั่นเป็นคำถามที่ดีมาก"

"คนเขียนคำอธิบายประกอบ ซึ่งหมายความว่าต้องมีคนต้องการ"

"คำอธิบายประกอบช่วยให้คุณเก็บข้อมูลเพิ่มเติมเกี่ยวกับโค้ดและองค์ประกอบของโปรแกรมได้ แต่อย่างเป็นทางการแล้ว สิ่งเหล่านี้ไม่ได้เป็นส่วนหนึ่งของโค้ด"

"สามารถใช้คำอธิบายประกอบเพื่อสร้าง XML พิจารณาว่าเมธอดเลิกใช้งานหรือไม่ ติดตามจุดบกพร่อง ฯลฯ"

"นี่คือตัวอย่างคำอธิบายประกอบในโค้ด:"

ตัวอย่าง
@CatInfo(manager=Catmanager.class, unique=true)
class Cat
{
 @Name("Missy")
 private String name;

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

 }
}

"อย่างที่คุณเห็น ข้อมูลสามารถเก็บไว้ในคำอธิบายประกอบได้"

"หากคำอธิบายประกอบมีฟิลด์เดียวที่เรียกว่าvalueคุณสามารถละเว้นชื่อฟิลด์ได้:"

ตัวอย่าง
@SuppressWarnings("unchecked")
void getUniqueCatName()
{

}

"หากไม่มีพารามิเตอร์ในวงเล็บ ก็สามารถละเว้นได้:"

ตัวอย่าง
@Override
void getUniqueCatName()
{

}

"การสร้างคำอธิบายประกอบของคุณเองนั้นง่ายมาก การประกาศคำอธิบายประกอบนั้นแทบจะเหมือนกับการประกาศอินเทอร์เฟซ"

ตัวอย่าง
@interface CatManager
{
 Class manager();
 boolean unique();
 String name() default "Unknown Cat";
}

"มีความแตกต่างเพียงไม่กี่อย่างเท่านั้น"

"ขั้นแรก คุณต้องใส่เครื่องหมาย «@» ก่อนคำว่าส่วนต่อประสาน "

"ประการที่สอง คำอธิบายประกอบสามารถมีค่าเริ่มต้นได้ คุณใช้คำเริ่มต้นเพื่อตั้ง ค่า เริ่มต้นดูตัวอย่างด้านบน พารามิเตอร์เหล่านี้เป็นทางเลือกและสามารถละเว้นได้เมื่อเพิ่มคำอธิบายประกอบ"

"อ่า มันง่ายกว่าที่ฉันคิดไว้ และฉันก็หลีกเลี่ยงพวกมันเหมือนกับที่ Robo-Devil หลีกเลี่ยงน้ำศักดิ์สิทธิ์ มันไม่น่ายินดีนักเมื่อโค้ดมีหลายสิ่งที่คุณไม่เข้าใจเลย"

"โอ้ เป็นเรื่องดีที่คุณเตือนฉัน ฉันต้องการบอกคุณเพิ่มเติมเกี่ยวกับคำอธิบายประกอบที่ใช้โดยคอมไพเลอร์"

"มีคำอธิบายประกอบเพียง 3 รายการเท่านั้น ตอนนี้มีสามรายการ"

@เลิกใช้แล้ว

"คุณสามารถใส่คำอธิบายประกอบคลาสหรือเมธอดด้วย @Deprecated ซึ่งจะทำให้คอมไพเลอร์แสดงคำเตือน (คำเตือนไม่ใช่ข้อผิดพลาด) และ IntelliJ IDEA จะแสดงเมธอดนี้เป็นข้อความขีดฆ่า บางอย่างดังนี้  :

ตัวอย่าง
Date date = new Date();
int year = date.getYear();

@แทนที่.

"การเพิ่มคำอธิบายประกอบ @Override ให้กับวิธีการที่คุณแทนที่ถือเป็นแนวทางปฏิบัติที่ดีที่สุด"

"มีไว้เพื่ออะไร IDEA ไม่แสดงว่าเมธอดถูกแทนที่หรือไม่"

"อย่างแรกเลย มี IDEA แล้วก็มีไวยากรณ์ของ Java"

"และประการที่สอง ตามสมมุติฐาน คุณอาจมีสถานการณ์ที่เมธอดของคลาสพื้นฐานถูกเปลี่ยนชื่อโดยไม่มีการเปลี่ยนแปลงชื่อเมธอดในคลาสย่อยที่เกี่ยวข้อง โปรแกรมจะไม่ทำงานตามที่คาดไว้ แต่จะไม่มีใครสังเกตเห็น คำอธิบายประกอบนี้ถูกประดิษฐ์ขึ้นเพื่อ ป้องกันไม่ให้สถานการณ์เหล่านี้เกิดขึ้น:"

ตัวอย่าง
@Override
void getUniqueCatName()
{

}

@SuppressWarnings

"บางครั้งคอมไพเลอร์แสดงคำเตือนจำนวนมาก และบางครั้งเรารู้เกี่ยวกับ «ปัญหา» และจงใจเลือกใช้โค้ดที่เกี่ยวข้องซึ่งสร้างขึ้น คุณสามารถใช้คำอธิบายประกอบนี้เพื่อซ่อนคำเตือนบางส่วนเหล่านี้ได้"

"โปรแกรมเมอร์สามารถใช้ คำอธิบาย ประกอบ @SuppressWarningsเพื่อบอกคอมไพเลอร์ว่า «ไม่ต้องแสดงคำเตือนสำหรับข้อผิดพลาดนี้ — เป็นความตั้งใจ» ตัวอย่างเช่น:"

ตัวอย่าง
@SuppressWarnings("unchecked")
void getUniqueCatName()
{

}

"เข้าใจแล้ว."

“ฉันเหนื่อยนิดหน่อย ฉันจะคอแห้งตายแล้ว พักกันต่อ ตกลงไหม”

"แน่นอน."