• java之注解


    注解(Annotation):

    相当于一种标记,标记可以加加在包,类,属性,方法,方法参数,局部变量上
    没有外部解析工具等对注解加以解析和处理的,则不会对代码的产生任何的影响。一般使用反射读取注解信息

    -----------------------------------------------------------------------------------

    内置注解:
    @Override:限定重写父类方法, 该注释只能用于方法
    @Deprecated:用于表示某个程序元素(类, 方法等)已过时,不建议使用
    @SuppressWarnings:抑制编译器警告

    -------------------------------------------------------------


    元注解:描述注解的注解,只能使用注解上的注解
    @Target:说明注解可以出现在哪些地方 不添加此注解表示该注解类可以在任何地方使用
    一般使用枚举类ElementType的枚举常量
    TYPE代表类 FIELD代表属性 METHOD代表方法

    @Retention:注解的生命周期,三种取值
    RetentionPolicy.SOURCE
    RetentionPolicy.CLASS
    RetentionPolicy.RUNTIME 反射调用 使用这个值

    @Inherited:指示注释类型被自动继承。
    注解继承:
    方法上的注解是否被继承只是否重写有关,如果重写了父类的方法,则父类方法上的注解就不会被继承过来。
    类上的注解是否能够被继承,与注解是否被@Inherited有关

    --------------------------------------------------------------
    自定义注解:
    1)定义注解类:public @interface 类名 默认继承Annotation类
    2)每个方法声明定义为一个元素(成员变量)
    方法的返回值类型就是元素类型,方法不能有参数
    方法的返回值类型:
    基本数据类型,String,Class,枚举,注解及它们的数组
    每个自定义注解类都有这个方法: annotationType() 返回此注解对象的类型 返回值是class对象
    方法可以给默认值 例: String value() default  "HELLO" ;

    --------------------------------------------------------------

    Class类 Field类 Method类 使用注解常用方法:
    Class类独有的: isAnnotation() 如果此class对象表示一个注解类型,则返回 true;否则返回 false

    isAnnotationPresent(Class<? extends Annotation> annotationClass) 如果指定类型的注解存在于此元素上,则返回 true,否则返回 false。参数为注解类的class对象

    getAnnotation(Class<A> annotationClass) 如果存在该元素的指定类型的注释,则返回这些注解,否则返回 null。参数为注解类的class对象

    getAnnotations() 返回此元素上存在的所有注解。 返回值为Annotation[] 注解数组

  • 相关阅读:
    ABP 菜单 修改
    C# 过滤器
    RabbitMQ框架构建系列(三)——Net实现RabbitMQ之Producer
    RabbitMQ系列(二)RabbitMQ基础介绍
    RabbitMQ系列(一)AMPQ协议
    MVC 解读WebConfig
    MVC过滤器特性
    asp.net中使用JQueryEasyUI
    asp.net请求到响应的整个过程
    Redis的下载安装部署(Windows)
  • 原文地址:https://www.cnblogs.com/java888/p/10406026.html
Copyright © 2020-2023  润新知