java注解如何设置自增长_java如何自定义注解(一)
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如何自定义注解(一)相关推荐
- java自定义监听器例子_Java使用自定义注解实现为事件源绑定事件监听器操作示例...
本文实例讲述了Java使用自定义注解实现为事件源绑定事件监听器操作.分享给大家供大家参考,具体如下: 一 定义注解 import java.lang.annotation.*; import java ...
- java方法设置切点_如何通过自定义注解实现AOP切点定义
面向切面编程(Aspect Oriented Programming, AOP)是面向对象编程(Object Oriented Programming,OOP)的强大补充,通过横切面注入的方式引入其他 ...
- 深入理解Java:注解(Annotation)基本概念、自定义注解、注解解析器
深入理解Java:注解(Annotation)基本概念 什么是注解(Annotation): Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadat ...
- Java注解--一张图一案例掌握自定义注解
1.概述 是什么:是对方法.类.参数.包.域以及变量等进行代码功能的增强或者修改程序的行为等操作. 应用 跟踪代码依赖性,实现替代配置文件功能 在反射中使用Annotation,字段格式化(如:数据字 ...
- java环境变量设置详解_JAVA环境变量配置详解(Windows)
JAVA环境变量JAVA_HOME.CLASSPATH.PATH设置详解 Windows下JAVA用到的环境变量主要有3个,JAVA_HOME.CLASSPATH.PATH. JAVA_HOME指向的 ...
- java swing 如何设置按钮大小_Java Swing - Button不改变宽度的大小
我有一个使用FlowLayout的JPanel和一个垂直排列组件的Box. 我想要的是将其他组件的宽度大小设置为"删除列"按钮. 我试着线Java Swing - Button不改 ...
- java email怎么设置端口号_java mail 设置参数
Session需要使用java.util.Properties来构造,常用的用来构造Session的属性: 属性名 含义 mail.smtp.user SMTP的缺省用户名. mail.smtp.ho ...
- java环境变量设置 重启吗_java环境变量配置,原来是这样的
你知道Java环境变量如何配置吗,这里和大家分享一下windows 7下配置JDK环境变量. 操作方法 01 安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为:C:\Progra ...
- Java虚拟机如何设置环境变量_Java虚拟机配置环境变量的方法
Java虚拟机是一款功能强大的虚拟机,是抽象的计算机,是Java语言底层实现的基础,Java语言在不同平台运行不需要重新编译.Java虚拟机(JVM)是Java Virtual Machine的缩写, ...
最新文章
- 记一次安装多版本php的四个雷区,你踩着了吗
- python教程第四版pdf下载-笨办法学python第四版 电子书(pdf格式)
- 人工智能缺陷与误觉:让机器产生幻觉的「怪异事件」
- FreeRTOS 之 在Cortex-M中应用时的中断优先级设置
- 屏幕坏点检测图片_电视屏幕出现坏点?行家会这样做!
- Qt文档阅读笔记|Qt工作笔记-QMutexLocker的使用(抛出异常也能解锁)
- vue下使用axios应用
- 如何才能通过一线互联网公司面试?全网疯传
- JavaScript------表单约束验证DOM方法
- 移植qt5.3.1到arm
- java输出流文件_Java文件输入输出流(封装类)
- java 装饰者模式 替代方案_如何利用装饰者模式在不改变原有对象的基础上扩展功能...
- C/C++ 程序设计员应聘常见面试试题深入剖析(2)
- 程序员面试指南python_程序员代码面试指南:IT名企算法与数据结构题目最优解 PDF...
- SoapUI被动接口的压力测试/性能测试
- 开启NTP时钟服务器,让电脑变成网络时间服务器
- Android原生人脸识别Camera2示例
- 购买计算机英语情景对话,英语情景对话之购物英语:买相机
- php转jsp,阿里西西Html多功能代码转换器(html转js/jsp/php工具)
- Exchange邮箱服务器后利用
热门文章
- 【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器
- php下intval()和(int)转换使用与区别
- PHP的mysqli_fetch_all
- python是谁维护的_Python 库从开发到维护
- TP5 连接oracle数据库
- Sublime Text 3下Emmet使用技巧
- 蓝桥杯单片机十一届省赛_“第十届蓝桥杯青少组C++省赛”前三题解题思路及参考答案!...
- 在线普通话转粤语发音_最快的学说粤语的办法:粤语拼音
- 用-force –opengl 指令_OpenGL-使用Tessellation技术绘制Cubic Bézier Patches
- feed流和瀑布流_产品PM必备的Feed流和瀑布流应用场景