java 多重注解_Java 注解

一、注解的意义

描述属性的数据,也称描述数据的数据,例如,描述数据库数据的数据的什么,是表结构,那么表结构就是元数据。即元数据(关于数据的数据,即描述数据特征的数据,一般是结构化数据(例如表结构数据就是元数据)(如存储在数据库里的数据,规定了字段的长度、类型等))

二、注解的定义(元数据的定义,可以想象成数据库表结构的定义)

语法:

@Target(ElementType.TYPE)

@Retention(RetentionPolicy.RUN)

public @interface 注解名称{

// 定义属性:属性的定义按照申明方法的方式定义

String name() defalut "zhangsan";   // 定义了一个name熟悉

使用:

@注解名称(name=“lisi”)  // name是属性(或参数)的名称, lisi是属性(或参数)的值

注解的属性值类型(或参数)的可支持数据类型:

1.所有基本数据类型(int,float,boolean,byte,double,char,long,short)

2.String类型

3.Class类型

4.enum类型

5.Annotation类型

6.以上所有类型的数组

三、应用注解

@Target(ElementType.METHOD)

@Retention(RetentionPolicy.RUNTIME)

@interface Todo {

public enum Priority {LOW, MEDIUM, HIGH}

public enum Status {STARTED, NOT_STARTED}

String author() default "Yash";

Priority priority() default Priority.LOW;

Status status() default Status.NOT_STARTED;

}

@Todo(priority = Todo.Priority.MEDIUM, author = "Yashwant", status = Todo.Status.STARTED)

public void incompleteMethod1() {

//Some business logic is written

//But it’s not complete yet

}

Class businessLogicClass = BusinessLogic.class;

for(Method method : businessLogicClass.getMethods()) {

Todo todoAnnotation = (Todo)method.getAnnotation(Todo.class);

if(todoAnnotation != null) {

System.out.println(" Method Name : " + method.getName());

System.out.println(" Author : " + todoAnnotation.author());

System.out.println(" Priority : " + todoAnnotation.priority());

System.out.println(" Status : " + todoAnnotation.status());

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值