自定义 Annotation | 学习笔记

开发者学堂课程【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 之后最大的特点是可以结合反射机制实现程序的处理。

上一篇:工信部:推动我国传感器物联网产业融合化发展


下一篇:【mybatis深度历险系列】深入浅出mybatis中原始dao的开发和mapper代理开发