注解一:基本概念

注解一:基本概念,第1张

注解一:基本概念

JAVA注解Annotation

1、概念定义

1.1、注解1.2、元数据 2、系统注解

2.1、标准注解 2.2、元注解 3、注解元素数据类型4、提取注解

4.1、已知实现类4.2、方法


运行时,文档,继承,应用在方法上

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@documented
@Inherited
@Target({ElementType.METHOD})
public @interface TestAnnotation {
    Class[] commonChecks();
}

1、概念定义 1.1、注解
    注解:提供一种为程序元素设置元数据的方法。基本原则:注解不能直接干扰程序代码的运行,无论增加或删除注解,代码都能正常运行。注解分类:

    标注注解(marker annotation):没有元素的注解单值注解完整注解

1.2、元数据
    元数据(metadata):就是关于数据的数据元数据作用

    编写文档:通过代码里标识的元数据生成文档代码分析:通过代码里标识的元数据对代码进行分编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查

2、系统注解 2.1、标准注解
    @Override:作用:保证编译时候Override函数的声明正确性@Deprecated:作用:表示此方法或类不再建议使用,调用时也会出现删除线,但不代表不能用。与javadoc里的@deprecated标记有相同的功能,准确的说,它还不如javadoc @deprecated,因为它不支持参数@SuppressWarnings:作用:关闭特定的警告信息

    deprecation:使用了过时的类或方法时的警告unchecked:执行了未检查的转换时警告fallthrough:当Switch程序块直接通往下一种情况而没有Break时的警告path:在类路径、源文件路径等中有不存在的路径时的警告serial:当在可序列化的类上缺少serialVersionUID:定义时的警告finally:任何finally子句不能正常完成时的警告all:关于以上所有情况的警告

2.2、元注解
    作用:负责注解其他注解@Retention:作用:表示需要在什么级别保存该注释信息
    RetentionPoicy参数:

    SOURCE:注释将被编译器丢弃ClASS:注释在class文件中可用,但会被VM丢弃,缺省RUNTIME: VM将在运行时也保留注释,因此可以通过反射机制读取注释的信息 @Target:作用:该注解可以用于什么地方
    ElementType参数:

    CONSTRUCTOR:构造器声明FIELD:域声明(包括enum实例)LOCAL_VARIABLE:局部变量声明METHOD:方法声明PACKAGE:包声明PARAMETER:参数声明TYPE:类、接口(包括注解类型)或enum声明 @documented:作用:将注释包含在JavaDoc中@Inhertied :作用:允许子类集成父类中的注释

3、注解元素数据类型
    所有基本类型(int、float、boolean等)StringClassenumAnnotation以上类型的数组
4、提取注解

java.lang.reflect.AnnotatedElement接口

4.1、已知实现类

Class、Constructor、Field、Method、Package

4.2、方法
    getAnnotation:返回该程序元素上存在的指定类型的注解,如果该类型的注解不存在,则返回nullgetAnnotations:返回程序该元素上存在的所有注解isAnnotationPresent:判断该程序元素上是否包含指定类型的注解,存在返回true,否则返回falsegetDeclaredAnnotations:返回直接存在于该元素上的所有注解

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5707199.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存