zoukankan      html  css  js  c++  java
  • java 注解 @Retention @interface 元数据

    java注解

      即是注释了,百度解释:也叫元数据。一种代码级别的说明。 个人理解:就是内容可以被代码理解的注释,一般是一个类。

    元数据

      也叫元注解,是放在被定义的一个注解类的前面 ,是对注解一种限制。只有两个: @Retention 和 @Target  (我只查到这两个).

      @Retention :用来说明该注解类的生命周期。它有以下三个参数:

          RetentionPolicy.SOURCE  : 注解只保留在源文件中

          RetentionPolicy.CLASS  : 注解保留在class文件中,在加载到JVM虚拟机时丢弃

          RetentionPolicy.RUNTIME  : 注解保留在程序运行期间,此时可以通过反射获得定义在某个类上的所有注解。

      @Target :  用来说明该注解可以被声明在那些元素之前。   

          ElementType.TYPE:说明该注解只能被声明在一个类前。

          ElementType.FIELD:说明该注解只能被声明在一个类的字段前。

          ElementType.METHOD:说明该注解只能被声明在一个类的方法前。

          ElementType.PARAMETER:说明该注解只能被声明在一个方法参数前。

          ElementType.CONSTRUCTOR:说明该注解只能声明在一个类的构造方法前。

          ElementType.LOCAL_VARIABLE:说明该注解只能声明在一个局部变量前。

          ElementType.ANNOTATION_TYPE:说明该注解只能声明在一个注解类型前。

          ElementType.PACKAGE:说明该注解只能声明在一个包名前。

    注解的定义:

      注解的定义使用关键词 @interface ,并在上面一行注明@Rentention(arg) 或者@Target(args) , 样例如下:

      @Rentention(RetentionPolicy.RUNTIME)

      public @interface Annotation01 {
        //定义公共的final静态属性
        .....
        //定以公共的抽象方法
        ......
      }

    常见基本内置注解

      @Override  当我们想重写一个方法时,在方法上加@Override,当我们方法的名字出错时,编译器就会报错。 定义如下:

        @Retention(RetentionPolicy.SOURCE )

        public @interface Override

      @Deprecated  用来表示某个类的属性或方法已经过时,不想别人再用时,在属性和方法上用@Deprecated修饰。 定义如下:

        @Retention(RetentionPolicy.SOURCE )

        public @interface Deprecated

      @SuppressWarnings 用来压制程序中出来的警告。 定义如下:

        @Retention(RetentionPolicy.SOURCE ) 

        public @interface SuppressWarnings 

    注解的使用

      定义注解--》声明注解-->获得注解;

      其中 获得注解 通过被修饰的对象的 getAnnotation 或 getAnnotations 方法获得。

    小赢靠智,大赢唯德! --欢迎各位博友提宝贵意见,相互交流
  • 相关阅读:
    SpringMVC -- 梗概--源码--贰--下载
    SpringMVC -- 梗概--源码--贰--上传
    SpringMVC -- 梗概--源码--贰--拦截器:Interceptor
    SpringMVC -- 梗概--源码--贰--异常管理
    SpringMVC -- 梗概--源码--贰--RestFul收参(了解) @PathVariable
    SpringMVC -- 梗概--源码--贰--静态资源的访问问题
    SpringMVC -- 梗概--源码--贰--mvc:annotation-driven
    SpringMVC -- 梗概--源码--壹--springMVC json处理
    SpringMVC -- 梗概--源码--壹--数据传递
    spring mvc处理方法返回方式
  • 原文地址:https://www.cnblogs.com/coolgun/p/3802535.html
Copyright © 2011-2022 走看看