Annotations หรือคำอธิบายประกอบเป็นข้อมูลเมต้าชนิดหนึ่งที่ให้ข้อมูลเกี่ยวกับบรรทัดของโปรแกรมที่เราเขียน annotatios สามารถใช้ได้กับ คลาส เมธอด ฟิลด์ ตัวแปร และองค์ประกอบอื่น ๆ ของโปรแกรม โดยวัตถุประสงค์คือ เพื่อให้ข้อมูลแก่คอมไพเลอร์ เพื่อให้ข้อมูลสำหรับเครื่องมือในการพัฒนาเพื่อสร้างโค้ดหรือไฟล์ XML และไฟล์แบบอื่นๆ และเพื่อให้ข้อมูลสำหรับเฟรมเวิร์กและไลบรารีขณะใช้งานจริง
Java มี annotations 3 แบบคือ
@Deprecated เพื่อบอกว่าองค์ประกอบที่ทำเครื่องหมาย (คลาส, เมธอด, ฟิลด์และอื่น ๆ ) เลิกใช้แล้วและไม่ควรใช้อีกต่อไป annotations นี้ทำให้เกิดคำเตือนในขั้นตอนการคอมไพล์หากมีการใช้องค์ประกอบดังกล่าว
@SuppressWarnings เป็น annotations ที่บอกให้คอมไพเลอร์ปิดใช้งานคำเตือนในเวลาคอมไพล์สำหรับพารามิเตอร์ที่ระบุใน annotatios annotations นี้สามารถนำไปใช้กับคลาส เมธอด ฟิลด์ ตัวแปรโลคัล และอิลิเมนต์อื่นๆ
@Override เพื่อบอกว่าเมธอดที่กำกับด้วย annotatios เป็นเมธอดที่เกิดจากการโอเวอร์ไรด์เมธอดใน superclass
ตัวอย่างด้านล่างเป็นการใช้ annotations แบบต่างๆ
@Deprecated
public static void method() {
System.out.println(“an old method”);
}
@Deprecated
class MyClass {
// fields and methods
}
@SuppressWarnings(value = “unused”)
public static void method() {
int a = 0;
}
@SuppressWarnings({“unused”, “deprecation”})
public static void method() { … }
นอกจาก annotations ที่ภาษาจาวามีมาให้แล้ว ยังมี annotation ที่ถูกสร้างขึ้นโดยผู้พัฒนาเฟรมเวิร์ค ผู้พัฒนาโปแกรมเพื่อนักพัฒนาต่างๆ เรียกว่า external annotations เพื่อใช้เป็นการแจ้งเตือนหรือเป็นเงื่อนไขในการตรวจสอบการทำงานสำหรับแต่ละระบบงานและสิ่งแวดล้อมที่ใช้งาน