Selain retensi, ada tiga anotasi lain yang disediakan oleh JDK 5, yaitu target, diwarisi dan didokumentasikan.
Target target adalah di mana anotasi target digunakan, yang menentukan waktu anotasi yang digunakan, yaitu, jenis elemen program yang berlaku anotasi. Jika anotasi meta target tidak ada dalam deklarasi jenis anotasi, jenis yang dinyatakan dapat digunakan pada elemen program apa pun. Jika ada metaNotasi seperti itu, kompiler menegakkan batas penggunaan yang ditentukan.
Target didefinisikan sebagai berikut:
@Didokumentasikan@retensi (retentionpolicy.runtime) @target (elementType.annotation_type) public @interface target {elementType [] value ();}Seperti yang Anda lihat, Target hanya memiliki satu atribut nilai, dan jenisnya adalah ENUM Type ElementType. Deklarasi ElementType adalah sebagai berikut:
Publik Enum ElementType { /** Anotasi dapat digunakan di kelas, antarmuka (termasuk jenis anotasi) atau deklarasi enum* /type, /** Deklarasi lapangan (termasuk konstanta enum)* /bidang, /** Metode deklarasi* /Metode, /** Parameter Deklarasi* /Parameter, /*Deklarasi Metode Konstruktor* Ketik deklarasi */ annotation_type,/ ** Paket deklarasi */ paket}Anotasi yang didokumentasikan menunjukkan apakah informasi anotasi ditambahkan ke dokumen saat membuat Javadoc. Jika anotasi menggunakan @Documented saat menyatakan, informasi anotasi akan ditambahkan ke Javadoc saat membuat Javadoc. Pernyataan anotasi adalah sebagai berikut:
@Didokumentasikan@retensi (value = runtime) @Target (value = annotation_type) // menunjukkan bahwa anotasi ini hanya dapat digunakan saat mendeklarasikan anotasi, yaitu, meta annotation public @interface terdokumentasi {}Anotasi yang diwariskan juga merupakan anotasi meta, dan deklarasi adalah sebagai berikut:
@Didokumentasikan@retensi (value = runtime) @Target (value = annotation_type) public @interface diwariskan {}Anotasi yang diwarisi menunjukkan apakah anotasi akan diwarisi oleh subkelas, dan standarnya tidak diwarisi. Ketika anotasi dinyatakan, anotasi @inHerited digunakan, maka anotasi akan diwarisi oleh subclass kelas menggunakan anotasi.