开发者学堂课程【Java 高级编程:自定义 Annotation】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/20/detail/397
自定义 Annotation
内容简介:
1.定义 Annotation
2.范例
3.特点
1. 定义 Annotation
现在已经清楚了 Annotation 的获取,以及 Annotation 的运行策略,但是最为关键性的因素是如何可以实现自定义的 Annotation 呢?为此在 Java 里面提供有新的语法,使用“@interface”
来定义 Annotation。
2.范例
范例:自定义 Annotation
1)下面代码定义了 Annotation:
package cn. mldn. demo;
import java. lang. annotation. Retention;
import java .lang. annotation. RetentionPolicy;
@Retention(RetentionPolicy . RUNTIME) //定义Annotati on的运行策略
@interface DefaultAnnotation{ //自定义的Annotation
public String title() ; // 获取数据
public String ur1() default "www . mldn.cn" ; // 获取数据,默认值
}
@Deprecated
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
}
}
2)使用 Annotation 需要加上以下代码:
class Message {
@DefaultAnnotation()
public void send() {}
}
3)如果进行发送消息,代码如下:
class Message {
@DefaultAnnotation(title="MLDN")
public void send(String msg) {
System. out . printIn(" [消息发送] " + msg);
}
}
4)整个操作程序代码
执行结果如下:
MLDN
WWW . mldn. Cn
5)更高级的操作程序代码如下:
String msg = anno.title() +“(" + anno.ur1() + ") "; //消息内容
method. invoke (Message .class. getDeclaredConstructor(). newInstance(), msg) ;
执行结果如下:
[消息发送] MLDN (Www. mldn. cn)
3.特点
使用 Annotation 之后最大的特点是可以结合反射机制实现程序的处理。