• java中的注解


    一、注解

      注解起到标识作用。比如Junit的@Test注释。Junit会在运行时检查方法上是否存在此注解,如果存在,就通过反射来运行你的方法
      1、注解的作用:替代配置文件
      2、JDK中提供的三个基本的注解
        @Override:说明是否覆盖了父类的方法。
        @Deprecated:说明过时了。
        @SuppressWarnings:抑制警告
        @SuppressWarnings("抑制的警告的具体类型"):
          unused:变量未使用
          deprecation:使用了不赞成使用的类或方法时的警告
          unchecked:执行了未检查的转换时的警告。比如没有使用泛型
          falthrough:当switch程序块直接通往下一种情况而没有break时的警告
          path:在类路径、源文件路径等中有不存在的路径时的警告。
          serial:当在可序列化雷尚缺少serialVersionUID定义时的警告
          finally:任何finally子句不能正常完成时的警告。
          all:关于以上所有情况的警告。
      3、注解学习目标:
        a、自定义注解
        b、反射注解
      4、自定义注解的语法:
        注解本身:public @interface MyAnnotation{}
          使用关键字@interface定义一个类而已。这个类就是注解。
        注解中的属性:
          基本形式:类型 属性名称();
          比如:String name();
          使用:@MyAnnotationDemo1(name="hello")
          特别注意:注解的属性的类型只能是:基本类型、String、Class、枚举、注解类型及以上类型的一维数组。
          注解属性的默认值:
            类型 属性名称() default 默认值;
          注解中的特殊属性:
            类型 value();

              使用时,如果只给value设置值,可以这样用:@MyAnnotationDemo1(value="hello")或者@MyAnnotationDemo1("hello")
              使用时,如果只给value设置值,还要给其他属性设置值,可以这样用:@MyAnnotationDemo1(value="hello",name="aaa")
            类型[] value();
              使用方式如同value。
              使用方式:四种都ok
              // @MyAnnotationDemo1(value={"a","b"})
              // @MyAnnotationDemo1({"a","b"})
              // @MyAnnotationDemo1({"a"})
              // @MyAnnotationDemo1("a")

      5、元注解:
        定义:服务于注解的注解就是元注解。
        ***@Retention:注解的保留范围
            RetentionPolicy.SOURCE:注解存在于源文件中
            RetentionPolicy.CLASS:注解存在于源字节码文件中
            RetentionPolicy.RUNTIME:注解存在于运行时
        ***@Target:注解出现的位置
        @Documented: 用于指定被该元 Annotation 修饰的 Annotation 类将被 javadoc 工具提取成文档.
        @Inherited: 被它修饰的 Annotation 将具有继承性.如果某个类使用了被 @Inherited 修饰的 Annotation, 则其子类将自动具有该注解

  • 相关阅读:
    easyui datagrid 显示 footer
    ie浏览器 vuejs axios Promise 未定义
    react引入富文本编辑器TinyMCE
    react中ant-design组件实现textarea获取光标位置并插入表情图片
    前端日志埋点优化
    iframe父子页面通讯
    HTML5中的audio在react中的使用----语音播放进度条、倍速播放、下载等
    echarts简单入门
    在textarea里实现获取光标位置和选中内容
    lodash数组发现之旅--------The second day
  • 原文地址:https://www.cnblogs.com/byron0918/p/4719698.html
Copyright © 2020-2023  润新知