二十八、JavaSE----注解

简介: 二十八、JavaSE----注解

注解:

       Java注解(Annotation)又称为元数据,它为我们在代码中添加信息提供了一种形式化的方法。 它是JDK1.5引入的,Java定义了一套注解,共有7个,3个在java.lang中,剩下4个在 java.lang.annotation 中。


作用在代码中的注解有三个,它们分别是:


@Override :重写标记,一般用在子类继承父类后,标注在重写过后的子类方法上。如果发现 其父类,或者是引用的接口中并没有该方法时,会报编译错误。


@Deprecated :用此注解注释的代码已经过时,不再推荐使用。


@SuppressWarnings :这个注解起到忽略编译器的警告作用。


元注解有四个,元注解就是用来标志注解的解释。它们分别是:


@Retention :标识如何存储,是只在代码中,还是编入class文件中,或者是在运行时可以通过 反射访问。

RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃。


RetentionPolicy.CLASS:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期。


RetentionPolicy.RUNTIME:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在。


@Documented :标记这些注解是否包含在JavaDoc中。


@Target :标记这个注解说明了 Annotation所修饰的对象范围,Annotation可被用于 packages, types (类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变 量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。取值如下:


21.png


@inherited :标记这个注解是继承于哪个注解类的。


从JDK1.7开始,又添加了三个额外的注解,它们分别是


@SafeVarargs :在声明可变参数的构造函数或方法时,Java编译器会报unchecked警告。使 用@SafeVarargs可以忽略这些警告。


@FunctionalInterface :表明这个方法是一个函数式接口。


@Repeatable :标识某注解可以在同一个声明上使用多次。


相关文章
|
6月前
|
存储 Java 数据库
若依框架----源码分析(@Log)
若依框架----源码分析(@Log)
1363 1
|
存储 JSON 前端开发
用大白话聊聊JavaSE -- 如何理解Java Bean
首先,在开始本章之前,先说一个总的概念:所谓的Java Bean,就是一个java类,编译后成为了一个后缀名是 .class的文件。这就是Java Bean,很多初学者,包括当年的我自己,总是被这些专有名词搞的晕头转向。去公司面试,对方一口一个controller,一口一个service,dao,搞得我很紧张。其实都是很简单的东西,只是自己当时不知道罢了,接触之后才发现,不就是Java类吗?
157 0
用大白话聊聊JavaSE -- 如何理解Java Bean
|
存储 JSON 前端开发
用大白话聊聊JavaSE -- 如何理解Java Bean(一)
用大白话聊聊JavaSE -- 如何理解Java Bean(一)
100 0
|
算法 Java
Java常用类(4)--System类
Java常用类(4)--System类
82 0
Java常用类(4)--System类
|
Java 编译器
|
Java Spring
二十六、JavaSE----反射
二十六、JavaSE----反射
二十六、JavaSE----反射
|
编译器
二十五、JavaSE----泛型
二十五、JavaSE----泛型
二十五、JavaSE----泛型
|
SQL 安全 算法
二十九、JavaSE----关于null的处理方式
二十九、JavaSE----关于null的处理方式
二十九、JavaSE----关于null的处理方式
|
Java 程序员 Spring
Java Review (十七、面向对象----枚举类)
Java Review (十七、面向对象----枚举类)
140 0
Java Review (十七、面向对象----枚举类)
|
算法 Java C++
Java Review (二十三、集合-----概述)
Java Review (二十三、集合-----概述)
92 0
Java Review (二十三、集合-----概述)