“สวัสดี อามีโก้!”
“สวัสดีครับคุณริชชี่”
"วันนี้ฉันจะแนะนำคุณอย่างลึกซึ้งยิ่งขึ้นเกี่ยวกับคำอธิบายประกอบ"
"อย่างที่คุณอาจทราบอยู่แล้วว่า คำอธิบายประกอบคือคำพิเศษที่สามารถใส่ไว้ข้างคลาส ฟิลด์ เมธอด และตัวแปร"
“ใช่ค่ะ ฉันเจอบ่อยมาก”
"บางครั้งเรียกอีกอย่างว่าข้อมูลเมตาจุดประสงค์หลักคือเก็บข้อมูลเพิ่มเติมเฉพาะเกี่ยวกับเมธอด ฟิลด์ และคลาส"
“เก็บไว้ให้ใคร”
"นั่นเป็นคำถามที่ดีมาก"
"คนเขียนคำอธิบายประกอบ ซึ่งหมายความว่าต้องมีคนต้องการ"
"คำอธิบายประกอบช่วยให้คุณเก็บข้อมูลเพิ่มเติมเกี่ยวกับโค้ดและองค์ประกอบของโปรแกรมได้ แต่อย่างเป็นทางการแล้ว สิ่งเหล่านี้ไม่ได้เป็นส่วนหนึ่งของโค้ด"
"สามารถใช้คำอธิบายประกอบเพื่อสร้าง 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()
{
}
"เข้าใจแล้ว."
“ฉันเหนื่อยนิดหน่อย ฉันจะคอแห้งตายแล้ว พักกันต่อ ตกลงไหม”
"แน่นอน."
GO TO FULL VERSION