Java注解又稱Java標(biāo)注,是Java語言5.0版本開始支持加入源代碼的特殊語法元數(shù)據(jù)[1]。
Java語言中的類、方法、變量、參數(shù)和包等都可以被標(biāo)注。Java標(biāo)注和Javadoc不同,標(biāo)注有自反性。在編譯器生成類文件時(shí),標(biāo)注可以被嵌入到字節(jié)碼中,由Java虛擬機(jī)執(zhí)行時(shí)獲取到標(biāo)注[2]。
// @Twizzle標(biāo)注toggle()方法。
@Twizzle
public void toggle() {
}
// 聲明Twizzle標(biāo)注
public @interface Twizzle {
}
標(biāo)注可以包含一個(gè)關(guān)鍵字和值的對(duì)所構(gòu)成的列表:
//等同于 @Edible(value = true)
@Edible(true)
Item item = new Carrot();
public @interface Edible {
boolean value() default false;
}
@Author(first = "Oompah", last = "Loompah")
Book book = new Book();
public @interface Author {
String first();
String last();
}