zoukankan      html  css  js  c++  java
  • java注解

    1.简单理解

    • 给数据或者代码加上属性

    2.简单使用

    定义注解

    • 最常用的方式
        @Retention(RetentionPolicy.RUNTIME)
        @Target(ElementType.TYPE)
        public @interface CommonAnnotation {
      
            /**
            * 名字
            * @return
            */
            String name();
        }     
      
      • @Retention(RetentionPolicy.RUNTIME),直接cv大法,表示我们运行的时候注解还在,很少需要使用到其他两种情况
      • @Target(ElementType.METHOD),直接cv大法,表示这个注解将用于注解方法,编译器会帮我们检查,如果报错就去添加或者替换成我们需要的类型
    • 定义一个注解
      • 关键字: @interface
      • 元注解:@Retention、@Target、@Inherited、@Documented
      • 字段,写成一个抽象方法的形式

    元注解

    • @Retention
      • 用来指定注解的存活期
      • 值:SOURCE、CLASS、RUNTIME
    • 分别表示:
      • source 这个注解除了源文件会存在就没了、
      • class 这个注解比上个命长点,能扛到编译后,运行时就没了、
      • runtime 这个注解会存活到运行时,命最长
    • @Target
      • 用来说明这个注解可以用来注释哪些地方,例如:类、方法、字段、参数、注解等等
      • 很简单,根据需求来就好了
      • 那么有个问题,如果我声明用于方法,但是我把注解写到类上会报错吗?
        实践证明,编译器会帮我报错出来,所以,乱写就行了,有报错再纠错
    • @Inherited
      • 一般用来那些修饰类的注解,那么他的子类可以继承这个注解
      • 注解继承说得这个,注解A用这个注解(@Inherited)标识了,那么类ObjectA表示了注解A,类ObjectB直接继承ObjectA就可以获得注解A
      • 仅此而已,也是很有用的
    • @Documented
      • 标识哪些类在生成文档时,能上文档

    标准注解

    • @Override
      重写 、覆盖某个方法
    • @Deprecated
      方法或者类废弃了
    • @SuppressWarnings
      标识这个代码安全,不要给我警告个不停

    todo

    • spring的组合注解
    • 阅读《java编程思想》的相关章节
    • 阅读《java核心卷》的相关章节
    • 列举例子
    • 写出自己的理解
    • 了解并写个类似lombok的demo
    • 根据@Documented生成一个jdk文档来看看

    参考文档

  • 相关阅读:
    win7下的vxworks总结
    ubuntu 无法获得锁 /var/lib/dpkg/lock
    项目中用到了的一些批处理文件
    win7下安装 WINDRIVER.TORNADO.V2.2.FOR.ARM
    使用opencv统计视频库的总时长
    January 05th, 2018 Week 01st Friday
    January 04th, 2018 Week 01st Thursday
    January 03rd, 2018 Week 01st Wednesday
    January 02nd, 2018 Week 01st Tuesday
    January 01st, 2018 Week 01st Monday
  • 原文地址:https://www.cnblogs.com/cgengwei/p/14044752.html
Copyright © 2011-2022 走看看