注解(Annotation)
文章目录
- 1. 概念
- 2. 元注解
1. 概念
代码中的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理,未来的开发模式都是基于注解的,相对较简洁
需要反射去读取注解信息,再去读其成员的值,再做事,没有注解的话只能用XML配置文件去做
自定义注解没有使用反射读取注解就没有信息处理流程,也就没有意义
类加载之后将其加载到内存中,此时称为运行时类
框架=注解+反射+设计模式
/** @Author tylt* @Description //TODO 这是描述文档相关性质的注解* @Date 2021/11/26 15:22* @Method main* @Param [args]* @return void**/
public static void main(String[] args) {System.out.println("描述文档相关的注解\n");}
JDK内置的三个基本注解,编译时进行格式检查
@Override//限定重写父类方法@Deprecated//表示已过时
@SuppressWarnings("unused")//抑制未使用编译器警告int num = 10;
@SuppressWarnings({"unused","rawtypes"})//rawtypes关于泛型使用抑制ArrayList objects = new ArrayList();
JavaSE基础版 —> JavaEE
public @interface MyAnnotation {//自定义注解,声明为@interface,参照SuppressWarnings//成员变量(称为配置参数)以无参方法形式命名,如果只有一个成员变量,建议参数名为value//没有成员的称为标记表示标识作用/*成员变量*/String value();//没有默认值时要指定@MyAnnotation(value="hi")String hello() default "hello";//使用default指定默认值,要修改使前面使用@MyAnnotation(hello="hi")}
2. 元注解
对注解进行解释说明的注解
提一下:元数据 例如String name = “tylt”,真实数据是tylt也是最重要的,那么String name就是修饰真实数据的数据,叫元数据
@Retention(RetentionPolicy.CLASS)
//指定该注解的生命周期,其中包含一个RetentionPolicy的枚举类
/** @Description //TODO 枚举类参数如下* RetentionPolicy.SOURCE:在源件中有效(即源文件保留),编译时编译器将直接丢弃此注释* RetentionPolicy.CLASS:默认值,在class文件中有效(即class保留),当运行Java程序时,JVM不会保留注解。* RetentionPolicy.RUNTIME:在运行时有效(即运行时保留),当运行Java程序时,JVM会保留注释,程序C才可以通过反射获取该注释**/
@Target({TYPE,FIELD,CONSTRUCTOR,METHOD})
//指明当前注解可以修饰哪种类型:例如类(TYPE),构造器,形参,方法//自定义注解通常都使用Retention、Target两个元注解
/***************************************************/
@Documented
//表示可被JavaDoc提取为文档,因为默认情况下javadoc不包含注解,定义为Documented的注解必须设置Retention为RUNTIME
@Inherited
//修饰的注解具有继承性,父类中声明后子类中也具有@Repeatable(MyAnnotations.class)//可重复注解public @interface MyAnnotation {String value();}
@Target({TYPE,FIELD,CONSTRUCTOR,METHOD})
@Retention(RetentionPolicy.CLASS)
@Inherited
@Documented
public @interface MyAnnotations {MyAnnotation[] value();
}
public class Test {@MyAnnotation(value="hi")@MyAnnotation(value="ho")//可重复注解public static void main(String[] args) {}
}
注解(Annotation)相关推荐
- Java注解(Annotation)详解
转: Java注解(Annotation)详解 幻海流心 2018.05.23 15:20 字数 1775 阅读 380评论 0喜欢 1 Java注解(Annotation)详解 1.Annotati ...
- 一小时搞明白自定义注解(Annotation)
原文链接:http://blog.csdn.net/u013045971/article/details/53433874 什么是注解 Annotation(注解)就是Java提供了一种元程序中的元素 ...
- Android 自定义注解(Annotation)
现在市面上很多框架都有使用到注解,比如butterknife库.EventBus库.Retrofit库等等.也是一直好奇他们都是怎么做到的,注解的工作原理是啥.咱们能不能自己去实现一个简单的注解呢.注 ...
- java基础-注解Annotation原理和用法
转载自 http://www.wolfbe.com/detail/201608/265.html 在很多java代码中都可以看到诸如@Override.@Deprecated.@SuppressWar ...
- 让别人和自己看懂自己的程序代码?一文掌握Java单行多行、文档注释以及注解(Annotation)超详细的理解使用,IDEA注释注解快捷键和模板,提高程序代码更有可读性
文章目录 单行和多行注释 文档注释(Java特有) Annotation(注解)的理解 常见的Annotation示例 IDEA注释注解快捷键及模板 自定义 Annotation JDK 中的元注解 ...
- Java注解Annotation 完成验证
Java注解Annotation用起来很方便,也越来越流行,由于其简单.简练且易于使用等特点,很多开发工具都提供了注解功能,不好的地方就是代码入侵比较严重,所以使用的时候要有一定的选择性. 这篇文章将 ...
- java注释和注解_深入理解JAVA注解(Annotation)以及自定义注解
Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制.Java 语言中的类.方法.变量.参数和包等都可以被标注.注解可以看作是一种特殊的标记,在程序在编译或 ...
- 注解Annotation的IoC:从@Autowired到@Component
注解Annotation的IoC:从@Autowired到@Component 2017-01-23 目录 1 什么是注解 2 不使用注解示例 2.1 com.springioc.animal.M ...
- Enum枚举类|注解Annotation
Enum枚举类 ①枚举类和普通类的差别: 使用 enum 定义的枚举类默认继承了 java.lang.Enum 类 枚举类的构造器仅仅能使用 private 訪问控制符 枚举类的全部实例必须在枚举类中 ...
- java 注解: Annotation
java 注解: Annotation 普通注解 自定义注解 元注解 注解: 位于源码中,用来修饰程序的元素,但不会对被修饰的对象有直接的影响. 可增加程序的动态性. 普通注解 普通注解:为java代 ...
最新文章
- 按下回车表示确定提交
- 程序员的自我修养--链接、装载与库笔记:Windows PE/COFF
- 网站网页编写需要注意哪些问题?
- ubuntu 导入mysql_Ubuntu 下MySQL导入数据库.sql文件 命令
- TYVJ P1062 合并傻子 Label:环状dp
- 使用和了解Valgrind核心:高级主题
- html css js速成_CSS速成课程
- 无意间发现的java的相关资料
- javascript--函数(一)
- 2017-2018-1 20155229 实验五 《通讯协议设计》
- 如何在移动网页上“禁用”缩放?
- CUDA 和 GPU
- 常见报错_【办公】文档打印常见报错,怎么办?
- 整站下载工具 webzip
- 微众银行软件测试笔试题面试题
- 三大条件致病菌|大肠埃希氏菌、血链球菌、李斯特菌
- unity材质球发光_Unity3D - 发光材质(Emissive Materials)
- 学习系列--最优学习内容选择
- C语言怎么实现语音功能
- php酷狗音乐json,酷狗音乐API