註解型別不能從另一個注釋型別繼承。每個注釋型別都隱式地繼承java.lang.annotation.Annotation
介面,其宣告如下:
package java.lang.annotation;
public interface Annotation {
boolean equals(Object obj);
int hashCode();
String toString();
Class<? extends Annotation> annotationType();
}
註解型別中的方法宣告不能指定任何引數。註解型別中的方法宣告不能有throws
子句。在註解型別中宣告的方法的返回型別必須是以下型別之一:
byte
, short
, int
, long
, float
, double
, boolean
, 和 char
等等java.lang.String
java.lang.Class
String[]
, int[]
等等返回型別不能是巢狀陣列。 例如,返回型別不能是String [][]
或int [][]
的二維或多維陣列。
可以使用以下方法宣告註釋,如下所示:
public @interface MyAnnotation {
Class element1(); // Any Class type
Class<Test> element2(); // Only Test class type
Class<? extends Test> element3(); // Test or its subclass type
}
注釋型別不能是通用的。