自定义 Annotation | 学习笔记

简介: 快速学习 自定义 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 之后最大的特点是可以结合反射机制实现程序的处理。

相关文章
|
7月前
|
Java 编译器 开发者
Java注解(Annotation)技术深入解析
Java注解(Annotation)技术深入解析
459 1
|
安全 Java 编译器
一文带你全面深入理解Java注解Annotation
一文带你全面深入理解Java注解Annotation
289 1
一文带你全面深入理解Java注解Annotation
|
SQL Java 数据库连接
Java 注解 Annotation自定义实战
Java 注解 Annotation自定义实战
132 0
|
Java 开发者
annotation 实现 | 学习笔记
快速学习 annotation 实现,介绍了 annotation 实现系统机制, 以及在实际应用过程中如何使用。
annotation 实现 | 学习笔记
|
Java 编译器 测试技术
java注解annotation学习
java注解annotation学习
125 0
|
Java 编译器
自定义Annotation(二)上
注解Annotation 很强大,很重要,是不是想要自己能够编写注解呢? 接下来,我们就可以尝试编写简单的注解了。
122 0
自定义Annotation(二)上
|
Java 开发者
反射取得 Annotation 信息|学习笔记
快速学习 反射取得 Annotation 信息
116 0
反射取得 Annotation 信息|学习笔记
Annotation-自定义注解入门
Annotation-自定义注解入门
141 0