首页 > 其他分享 >注解-自定义注解的格式和本质

注解-自定义注解的格式和本质

时间:2022-10-21 11:46:47浏览次数:52  
标签:自定义 MyAnno 格式 interface 注解 public 属性

自定义注解的格式和本质

先进入注解看一下注解是如何定义的

 上面这两个注解先不管他 先看一下是如何写这种注解的

格式很简单:

public @interface 注解名{}
public @interface MyAnno {
}

这样就是一个注解 这种注解我们称为源注解

 注解本质上就是一个接口 该接口默认继承Annotation接口

属性:接口中可以定义的抽象方法

属性要求:

1.属性的返回值类型有下列要求

  • 基本数据类型
  • String
  • 枚举
  • 注解
  • 以上类型的数组

2.定义了属性 在使用时需要给属性赋值

比如:

自定义代码:

public @interface MyAnno {
    int age();
    String name();
}

测试类:

  @MyAnno(age = 11,name = "张三")
    public void method(){
        
    }

1.如果定义属性时 使用default关键字属性默认初始化值 则使用注解时 可以不进行属性的赋值

2.如果只有一个属性需要赋值 并且属性的名称时value 则value可以省略 直接定义值即可

比如

注解:

public @interface MyAnno {
    int value();
    // String name();
}

测试类:

 @MyAnno(11)
    public void method(){

    }

3.数组赋值时 值使用{}包裹 如果数组只有一个值 则{}可以省略

标签:自定义,MyAnno,格式,interface,注解,public,属性
From: https://www.cnblogs.com/shenziyi/p/16812908.html

相关文章

  • qgis连接postgis,将空间数据导出为shp格式
    之前遇到了一个需求,需要将postgis中GIS数据导出成shapefile文件参考:https://jackie-sun.blog.csdn.net/article/details/124140827?spm=1001.2014.3001.5502......
  • ttf是什么文件格式?ttf文件怎么打开方法
    http://g.pconline.com.cn/x/895/8956417.html.ttf文件是字体文件,当电脑里有时自带的字体文件不能满足我们编辑的需要,这时就要我们下载一些字体文件,随着windows的流行,已经......
  • 注解笔记
    今日内容1.Junit单元测试2.反射3.注解Junit单元测试:*测试分类: 1.黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2.白盒测试:需要写代码的。关注......
  • Spring中Transactional注解使用的心得
    今天看黑马redis的课,里面讲到了一个事务注解不生效的问题。究其原因,就在于Spring中事务注解生效的条件。那么接下来就说一下自己的心得。查了一下资料,就是说如果想让@Tr......
  • Django自定义URL转换器
    http://127.0.0.1:8000/usernames/zhangsan/count/以上URL请求传递参数username,此username需进行校验,不满足条件,不需要进入视图进行验证,减少数据库调用。可自定义转换......
  • js 文件大小bytes自动格式化为kb,mb单位。
    文件大小格式化工具函数 functionformatBytes(sizeBytes){ letmemoryUnits=[ { unitName:'bytes', threshold:1024, }, { unitName......
  • Spring AOP与自定义注解Annotation的使用 实践 @Around("@annotation(operationLog)")
    SpringAOP与自定义注解Annotation的使用AOP,Spring框架的两大核心之一,又称面向切面编程,通过代理模式,对原有的类进行增强。在Spring框架中,AOP有两种动态代理方式,其一是基......
  • Js:当前日期格式化与比较大小
    //日期格式转换getCurrentTime(){vardate=newDate();//当前时间varyear=date.getFullYear()//返......
  • 打印自定义行和列的字符
     #include<stdio.h>#pragmawarning(disable :4996)voiddisplay(charcr,intlines,intwidth);intmain() {  intch;  introw,col;  while((c......
  • 注解-注解概述和JDK内置注解
    注解概述概念:说明程序的给计算机看的注释:用文字描述程序给程序员看的定义:注解(Annotation),也叫元数据一种代码级别的说明它事JDK1.5及以后版本引入的一种特性与......