java注解语法:
1、使用@interface 关键字定义注解,如同class 定义类,interface定义接口,enum定义枚举一样
2、成员函数必须以无参、无异常方式申明
例如:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
public @interface EnableApolloConfig {
String[] value() default {ConfigConsts.NAMESPACE_APPLICATION};
int order() default Ordered.LOWEST_PRECEDENCE;
int age=0;
}
value()、order()函数均无入参和异常抛出
3、可以用default给函数设置默认值
4、成员函数返回值类型受限制
只能是8中基本数据类型(byte、short、int、long、float、double、boolean、char)其包装类型是不可以的、String、Class、某个注解、某个枚举类 当然这些类型其数组类型也是可以的
5、注解可以没有成员,没有成员的注解称为标识注解