注解类型不能从另一个注释类型继承。每个注释类型都隐式地继承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 }
注释类型不能是通用的。