zoukankan      html  css  js  c++  java
  • java注解学习笔记

    java的注解

      1.jdk中的注解: a,@Override  //用来表示这个方法继承了父类或接口

              b,@Deprecated  //表示这个方法我在父类中不想要了,但是不能删掉,因为别人可能用了我的这个方法,删了别人会报错.

              c.@Suppvisewarnings("deprecation")    //当我们使用被标记@Deprecated的方法时,编译器会警告我们,这个标记用于消除这种警告

      2常见第三方中的注解:

              如Spring和Mybatis中的注解.

    注解的分类:按照运行机制分, a分为源码注解:注解只在源码中存在,编译以后就在class中不存在了.jdk中的注解都是源码注解

                   b编译时的注解:在源码中和class中都存在.

                   c运行时的注解:在运行时也存在,甚至会影响我们程序运行的逻辑.

          按照来源来分,又分为来自jdk的注解,来自第三方的注解,我们自己定义的注解

    自定义注解:

          自定义注解的定义:

           @Target(ElementType.METHOD,ElementType.TYPE)    //元注解,用来标识注解的注解 . 这个用来标识这个注解的的作用域:类,方法,域上

           @Retention     //标识注解是编译时注解,运行时注解还是源码注解

           @Inherited     //注解是否可以被子类继承,当注解用在父类的方法时不会被子类继承,用在interface上时,也不会被继承

           @Documented           //b

            public @interface Description{    //成员类型受限,必须是原生基本类型还有String,Class等.可以没有成员,称为标识注解

             Sring desc();       //参数必须以无参数,无异常的方式来声明,当只有一个成员时,成员名必须命名为value

             int age() default 18   //可以设默认值

            }

          上述注解使用的方法: @Description(desc="jweicjwe",age=29)

    然后在使用的过程中,我们可以用反射机制来获取类,方法上的注解的信息.

  • 相关阅读:
    maven项目的导包问题,已经加载jar包了可是idea检测不到
    spark MLlib矩阵四则运算,线性代数
    maven spark Scala idea搭建maven项目的 pom.xml文件配置
    tensorflow2.0 numpy.ndarray 与tenor直接互转
    TensorFlow2.0矩阵与向量的加减乘
    Ubuntu14.04下Nginx反向代理Odoo域名
    Geforce experience报错:something went wrong try restarting geforce
    github的代码上传成功但是不显示绿格子(一直拖....心痛的教训.....)
    mapper文件提示:No data sources are configured to run this sql
    Pycharm中SQL语句提示SQL Dialect is Not Configured
  • 原文地址:https://www.cnblogs.com/zhaoxinshanwei/p/5670680.html
Copyright © 2011-2022 走看看