Java面向对象设计 - Java对注释类型的限制
注释类型的限制
注释类型不能从另一个注释类型继承。
每个注释类型都隐式地继承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 }
注释类型不能是泛型的。