美文网首页
java——注解

java——注解

作者: c5fc16271aee | 来源:发表于2017-05-12 21:14 被阅读0次

为什么要学习注解?学习注解有什么好处?学完能做什么?

    1、能够读懂别人写的代码,特别是框架相关的代码

    2、让编程更加简洁,代码更加清晰

   3、让别人高看一眼

概念:

注解是一种这样的东西,标志是一个@符号,他能够关联数据和其他的信息,

比较正规一点的描述是:

        Java提供了一种程序中的元素关联任何信息和任何元数据的途径和方法。

java中的常见注解

JDK自带注解

         @Override  覆盖父类方法

         @Deprecated  这个方法过时了

          @suppressWarings("deprecation")  忽略警告

常见第三方注解

                    @Autowired

      Spring:   @Service

                    @Repository

                    @InsertProvider

    Mybatis:  @UpdateProvider

                     @Options

注解的分类

按照运行机制分

             1.源码注解  ——只存在于源码中,编译成.class文件就不存在了

             2.编译时注解——源码和.class文件中均存在 如:@override @deprecated等jdk自带的注解

            3.运行时注解——运行阶段仍然会起作用,甚至会影响运行逻辑的注解,如:spring的autowired

按照注解来源分类

           jdk自带注解

            第三方注解

            自定义注解

元注解:注解的注解叫元注解

自定义注解:

注解语法规则

          //@Target 注解的作用域(

                           CONSTRUCTOR    //构造方法声明

                            FIE LD   //字段声明

                            LOCAL_VARIABLE //局部变量声明

                             METHOD        //方法声明

                              PACKAGE        //包声明

                               PARAMETER      //参数声明

                              TYPE          //类接口

                             )

@Target({ElementType.METHOD,ElementType.TYPE})

            //@Retention生命周期(

                           SOURCE  :只在源码显示,编译时会丢弃

                           CLASS  :编译时会记录到class中,运行时忽略

                           RUNTIME :运行时存在,可以通过反射读取

                                   )

@Retention(RetentionPolicy.RUNTIME)

@Inherited  运行子类继承 (必须是子类实现父类,且父类有注解;才会继承类上面的注解)

@Documented  生成javadoc是会包含注解

//上面这4行 就是元注解

public @interface Description{    //使用@interface关键字定义注解

                String desc();  ——成员以无参无异常方式声明

               String author();

              int age() default 18; ——可以使用default为成员指定一个默认值

}

注意

           成员类型是受到限制的,合法的类型包括原始类型及String,Class,Annotation,Enumeration

          如果注解只有一个成员,则成员名必须取名为value(),在使用时可以忽略成员名和赋值号(=)

           注解类可以没有成员,没有成员的注解称为标识注解

使用自定义注解

使用注解的语法:

          @<注解名>(<成员名1>=<成员值1>,<成员名2>=<成员值2>,......)

@Description(desc="I am jxb",author="Mooc boy",age=18)

        public String eyeColor(){

                 return "red";

           }

解析注解

      通过反射获取类,函数或成员上的运行时注解信息,从而实现动态控制程序的运行逻辑。

解析子类的注解:

Person.java Child.java Description.java Test.java 接在Test.java代码上面 效果

解析父类的注解:

其他代码与上面一样,只需要修改Child和Person类

Person.java Child.java 效果

自己学习笔记整理,不足之处望原谅!

相关文章

  • 菜鸟学服务端技术----Spirng基础

    注解 Java基础加强总结(一)——注解(Annotation) java中的注解是如何工作的? java 注解 ...

  • 自定义注解

    java annotation基础 java注解分为标准注解和元注解。 标准注解是java为我们提供的预定义的注解...

  • Java注解的使用

    Java注解的使用 参考 廖雪峰java教程 使用注解 什么是注解(Annotation)?注解是放在Java源码...

  • Java原生注解和Spring注解的说明

    注解 java 原生注解 Spring 中的注解 一 Java原生注解 Java注解是在JDK1.5以后引入的新特...

  • Java 注解

    JAVA注解 Java 自带注解(系统注解) @Override 表示重写注解 @Deprecated 表示过时的...

  • 1.8 Java 注解annotation

    1.1 注解声明 Java注解Annotation,有声明注解和元注解 元注解:Java提供的元注解,所谓元注解就...

  • Java注解学习总结(脑图)

    注解的提取测试:定义注解: 测试注解提取: 参考:《Java编程思想》java注解

  • Java注解

    Java注解(Annotation)详解(一)——概述及JDK自带注解 Java注解(Annotation)详解(...

  • JAVA-注解 Annotation

    JAVA-注解 Annotation sschrodinger 2018/6/4 基本 注解 Java 注解用于为...

  • Java注解简介篇

    摘要 本文详细介绍java注解是什么,如何声明java注解,如何解析java注解。最后介绍JDK提供的几大基本注解...

网友评论

      本文标题:java——注解

      本文链接:https://www.haomeiwen.com/subject/qrjtxxtx.html