Java自定义annotation
annotation里面的method只能返回原始数据类型(byte, char, int, long, double, float, boolean, void)或者String, Class, enum, 或者 Array(里面必须是上述的类型).
annotation的method不能传参数
在Java里可以自己定义annotation
需要使用@interface
来定义
有三种annotations
第一种 marker annotation
@interface SampleMarkerAnnotation {}
没有方法在里面
第二种 single value annotation
@interface SampleSingleValueAnnotation {
int method1();
}
也可以有default值
@interface SampleSingleValueAnnotation {
int method1() default 0;
}@SampleSingleValueAnnotation(method1=10)
public class SampleClass() {
...
}
第三种 multi-value annotation
@interface SampleMultiValueAnnotation {
int method1();
String method2();
void method3();
}
【Java自定义annotation】也可以有default值
@interface SampleMultiValueAnnotation {
int method1() default 0;
String method2() default "Hello";
void method3();
}@ SampleMultiValueAnnotation(method1=10, method2="NiHao")
public class SampleClass() {
...
}
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- SpringBoot调用公共模块的自定义注解失效的解决
- Java|Java OpenCV图像处理之SIFT角点检测详解
- python自定义封装带颜色的logging模块
- java中如何实现重建二叉树
- 列出所有自定义的function和view
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组