Java中提供了四種元注解,專門負(fù)責(zé)注解其他的注解喂分,分別如下
1.@Retention元注解锦庸,表示需要在什么級(jí)別保存該注釋信息(生命周期)∑哑恚可選的RetentionPoicy參數(shù)包括:
RetentionPolicy.SOURCE: 停留在java源文件甘萧,編譯器被丟掉
RetentionPolicy.CLASS:停留在class文件中,但會(huì)被VM丟棄(默認(rèn))
RetentionPolicy.RUNTIME:內(nèi)存中的字節(jié)碼梆掸,VM將在運(yùn)行時(shí)也保留注解扬卷,因此可以通過(guò)反射機(jī)制讀取注解的信息
2.@Target元注解,默認(rèn)值為任何元素酸钦,表示該注解用于什么地方怪得。可用的ElementType參數(shù)包括
ElementType.CONSTRUCTOR: 構(gòu)造器聲明
ElementType.FIELD: 成員變量卑硫、對(duì)象徒恋、屬性(包括enum實(shí)例)
ElementType.LOCAL_VARIABLE: 局部變量聲明
ElementType.METHOD: 方法聲明
ElementType.PACKAGE: 包聲明
ElementType.PARAMETER: 參數(shù)聲明
ElementType.TYPE: 類、接口(包括注解類型)或enum聲明
3.@Documented將注解包含在JavaDoc中
4.@Inheried允許子類繼承父類中的注解 對(duì)于方法和接口不管用
注解定義
public @interface name{
如果只有一個(gè)成員
最好value欢伏,因?yàn)椴槐刂付? String value();
}