java注解deprecated(吃透Java基础十:注解)java基础 / Java注解与元注解...

wufei123 发布于 2024-06-27 阅读(9)

一、什么是注解官方定义:注解是一系列元数据,它提供数据用来解释程序代码,但是注解并非是所解释的代码本身的一部分注解对于代码的运行效果没有直接影响注解有许多用处,主要如下:提供信息给编译器:编译器可以利用注解来探测错误和警告信息。

编译阶段时的处理:软件工具可以用来利用注解信息来生成代码、Html文档或者做其它相应处理运行时的处理:某些注解可以在程序运行的时候接受代码的提取值得注意的是,注解不是代码本身的一部分我们通俗一点理解就是:注解就相当于超市里面商品的标签,它不属于商品,它只是为商品做一些解释说明,而注解就是为我们的代码作解释说明,并不属于我们代码本身的部分。

二、注解的使用JDK中提供的注解*JDK里面提供的几个注解@Override: java.lang.Override 是一个标记类型注解,它被用作标注方法它说明了被标注的方法重载了父类的方法,起到了断言的作用。

如果我们使用了这种注解在一个没有覆盖父类方法的方法时,java 编译器将以一个编译错误来警示@Deprecated:表示该方法已经过时了(当方法或是类上面有@Deprecated注解时,说明该方法或是类都已经过期不能再用,但不影响以前项目使用,提醒你新替代待的方法或是类。

如果程序员不小心使用了它的元素,那么编译器会发出警告信息)@SuppressWarnings:表示忽略指定警告,比如@SuppressWarnings("Deprecation")@SafeVarargs:参数安全类型注解。

它的目的是提醒开发者不要用参数做一些不安全的操作,它的存在会阻止编译器产生 unchecked 这样的警告它是在 Java 1.7 的版本中加入的@FunctionalInterface:函数式接口注解,这个是 Java 1.8 版本引入的新特性。

元注解java.lang.annotation 提供了四种元注解,专门注解其他的注解(在自定义注解的时候,需要使用到元注解)@Retention:定义该注解的生命周期RetentionPolicy.SOURCE:注解只在源码阶段保留,在编译器进行编译时它将被丢弃忽视。

RetentionPolicy.CLASS:注解只被保留到编译进行的时候,它并不会被加载到 JVM 中RetentionPolicy.RUNTIME:注解可以保留到程序运行的时候,它会被加载进入到 JVM 中,所以在程序运行时可以获取到它们。

@Target:表示该注解用于什么地方默认值为任何元素,表示该注解用于什么地方可用的ElementType 参数包括:ElementType.CONSTRUCTOR: 用于描述构造器ElementType.FIELD: 成员变量、对象、属性(包括enum实例)。

ElementType.LOCAL_VARIABLE: 用于描述局部变量ElementType.METHOD: 用于描述方法ElementType.PACKAGE: 用于描述包ElementType.PARAMETER: 用于描述参数。

ElementType.TYPE: 用于描述类、接口(包括注解类型) 或enum声明 @Documented:一个简单的Annotations 标记注解,表示是否将注解信息添加在java 文档中 @Inherited :表示当前注解可以由子注解来继承。

@Repeatable:是可重复的意思,Java 1.8 才加进来的,指的是注解的值可以同时取多个自定义注解Annotation型定义为@interface,所有的Annotation 会自动继承java.lang.Annotation这一接口,并且不能再去继承别的类或是接口。

参数成员只能用public 或默认这两个访问权修饰,可以用default设置默认值也可以不定义成员参数成员只能用基本类型byte、short、char、int、long、float、double、boolean八种基本数据类型和String、Enum、Class、annotations等数据类型,以及这一些类型的数组。

要获取类方法和字段的注解信息,必须通过Java的反射技术来获取 Annotation 对象,因为你除此之外没有别的获取注解对象的方法

注解经典运用运行期利用反射可以获取注解:详情请移步[吃透Java基础六:反射](https://blog.csdn.net/u013277209/article/details/102782208)注解+反射 在数据库框架方面的应用:

有一张用户表,包含id name age gender 对每一个字段进行检索并打印出Sql语句1、自定义Table和Column注解

2、编写User类

3、利用反射获取注解信息,实现Sql语句查询

运行输出:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

河南中青旅行社综合资讯 奇遇综合资讯 盛世蓟州综合资讯 综合资讯 游戏百科综合资讯 新闻42304