JDK内置的一些常用的注解:

* @Override :检测被该注解标注的方法是否是继承自父类(接口)的

* @Deprecated:该注解标注的内容,表示已过时

* @SuppressWarnings:压制警告

* 一般传递参数all @SuppressWarnings("all")

上面这些jdk内置的注解,大家应该工作中经常会看到,下面来和大家一起学习如何自定义属于自己的注解。

@SuppressWarnings

原生写法如图,我们点进这个注解看看

得到一个规律,就是注解的基本格式是这样的:

public @interface 注解名称{

属性列表;

}

我们通过编译和反编译这个MyAnnotation类,发现注解类的本质是:

即 javac javap命令即可看到下述代码

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

* public interface MyAnnotation extends java.lang.annotation.Annotation {}

可以说注解就是一个接口

接下来参考官方格式定义一个注解,新建一个自定义注解类叫MyAnnotation

测试使用一下

刚刚的注解类里面是没有内容的,下面我们在里面定义一下属性,比如成员方法,这个成员方法的返回值有这几种类型:

* 基本数据类型

* String

* 枚举类

* 注解

* 以上类型的数组 代码实现如图

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

注意事项

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

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

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

元注解请看下一篇。

作者:ReStart白蓝

转载请注明来源

java注解如何设置自增长_java如何自定义注解(一)相关推荐

  1. java自定义监听器例子_Java使用自定义注解实现为事件源绑定事件监听器操作示例...

    本文实例讲述了Java使用自定义注解实现为事件源绑定事件监听器操作.分享给大家供大家参考,具体如下: 一 定义注解 import java.lang.annotation.*; import java ...

  2. java方法设置切点_如何通过自定义注解实现AOP切点定义

    面向切面编程(Aspect Oriented Programming, AOP)是面向对象编程(Object Oriented Programming,OOP)的强大补充,通过横切面注入的方式引入其他 ...

  3. 深入理解Java:注解(Annotation)基本概念、自定义注解、注解解析器

    深入理解Java:注解(Annotation)基本概念 什么是注解(Annotation): Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadat ...

  4. Java注解--一张图一案例掌握自定义注解

    1.概述 是什么:是对方法.类.参数.包.域以及变量等进行代码功能的增强或者修改程序的行为等操作. 应用 跟踪代码依赖性,实现替代配置文件功能 在反射中使用Annotation,字段格式化(如:数据字 ...

  5. java环境变量设置详解_JAVA环境变量配置详解(Windows)

    JAVA环境变量JAVA_HOME.CLASSPATH.PATH设置详解 Windows下JAVA用到的环境变量主要有3个,JAVA_HOME.CLASSPATH.PATH. JAVA_HOME指向的 ...

  6. java swing 如何设置按钮大小_Java Swing - Button不改变宽度的大小

    我有一个使用FlowLayout的JPanel和一个垂直排列组件的Box. 我想要的是将其他组件的宽度大小设置为"删除列"按钮. 我试着线Java Swing - Button不改 ...

  7. java email怎么设置端口号_java mail 设置参数

    Session需要使用java.util.Properties来构造,常用的用来构造Session的属性: 属性名 含义 mail.smtp.user SMTP的缺省用户名. mail.smtp.ho ...

  8. java环境变量设置 重启吗_java环境变量配置,原来是这样的

    你知道Java环境变量如何配置吗,这里和大家分享一下windows 7下配置JDK环境变量. 操作方法 01 安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为:C:\Progra ...

  9. Java虚拟机如何设置环境变量_Java虚拟机配置环境变量的方法

    Java虚拟机是一款功能强大的虚拟机,是抽象的计算机,是Java语言底层实现的基础,Java语言在不同平台运行不需要重新编译.Java虚拟机(JVM)是Java Virtual Machine的缩写, ...

最新文章

  1. 记一次安装多版本php的四个雷区,你踩着了吗
  2. python教程第四版pdf下载-笨办法学python第四版 电子书(pdf格式)
  3. 人工智能缺陷与误觉:让机器产生幻觉的「怪异事件」
  4. FreeRTOS 之 在Cortex-M中应用时的中断优先级设置
  5. 屏幕坏点检测图片_电视屏幕出现坏点?行家会这样做!
  6. Qt文档阅读笔记|Qt工作笔记-QMutexLocker的使用(抛出异常也能解锁)
  7. vue下使用axios应用
  8. 如何才能通过一线互联网公司面试?全网疯传
  9. JavaScript------表单约束验证DOM方法
  10. 移植qt5.3.1到arm
  11. java输出流文件_Java文件输入输出流(封装类)
  12. java 装饰者模式 替代方案_如何利用装饰者模式在不改变原有对象的基础上扩展功能...
  13. C/C++ 程序设计员应聘常见面试试题深入剖析(2)
  14. 程序员面试指南python_程序员代码面试指南:IT名企算法与数据结构题目最优解 PDF...
  15. SoapUI被动接口的压力测试/性能测试
  16. 开启NTP时钟服务器,让电脑变成网络时间服务器
  17. Android原生人脸识别Camera2示例
  18. 购买计算机英语情景对话,英语情景对话之购物英语:买相机
  19. php转jsp,阿里西西Html多功能代码转换器(html转js/jsp/php工具)
  20. Exchange邮箱服务器后利用

热门文章

  1. 【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器
  2. php下intval()和(int)转换使用与区别
  3. PHP的mysqli_fetch_all
  4. python是谁维护的_Python 库从开发到维护
  5. TP5 连接oracle数据库
  6. Sublime Text 3下Emmet使用技巧
  7. 蓝桥杯单片机十一届省赛_“第十届蓝桥杯青少组C++省赛”前三题解题思路及参考答案!...
  8. 在线普通话转粤语发音_最快的学说粤语的办法:粤语拼音
  9. 用-force –opengl 指令_OpenGL-使用Tessellation技术绘制Cubic Bézier Patches
  10. feed流和瀑布流_产品PM必备的Feed流和瀑布流应用场景