zoukankan      html  css  js  c++  java
  • 【JAVA SE基础篇】66.注解,反射机制处理注解

    1.注解入门

    注解(Annotation)由jdk1.5后引入

    1.注解作用:

      1.不是程序本身,可以对程序作出解释(与注释功能一致)

      2.可以被其他程序读取(编译器)。

    注释与注解的区别:

      注解信息处理流程,是注解的和注释的最大区别。没有注解信息处理流程,注解就没有意义

    注解的格式:

      注解是以“@注解名”在代码中存在,还可以添加一些参数值,例如:@SuppressWarnings(value=“unchecked”)。

    注解在哪里使用:

      可以附加在package,class,method,field等上面,相当于给他们添加了额外的辅助信息,

      我们可以通过反射机制编程实现对这些元数据的访问。

    2.内置注解

      @Override:定义在java.lang.Override中,此注释只适用于修饰方法,

    表示一个方法声明打算重写超类中的另一个方法声明

      @Deprecated:定义在java.lang.Deprecated中,此注释可用于修辞方法,属性,类,

    表示不鼓励程序员使用这样的元素,通常是因为他很危险或存在更好的选择

      @SuppressWarnings:定义在java.lang.SuppressWarnings中,

    用来抑制编译时的警告信息

    3.自定义注解,元注解

    1.元注解作用:

      负责注解其他注释。Java中定义了4个标准的meta-annotation类型,他们被用来提供对其他annotation类型做说明

    这些类型和他们所支持的类在java.lang.annotation包中可以找到

    @Target:用于描述注解的适用范围

      package(包):PACKAGE

      类,接口,枚举,annotation:TYPE

      构造器:CONSTRUCTOR

      属性:FIELD

      方法:METHOD

      局部变量:LOCAL_VARIABLE

      参数:PARAMETER

    @Retention:表示需要在什么级别保存该注释信息,用于描述注解的生命周期

      SOURCE:在源文件中有效(即源文件保留)

      CLASS:在class文件中有效(即class保留)

      RUNTIME:在运行使有效(即运行时保留),为Runtime可以被反射机制读取

    @Documented:

    @Inherited

    2.自定义注释:

      使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口

    注:@interface用来声明一个注释,格式为 public @interface 注解名{定义体}

    其中每一个方法实际上是声明了一个配置参数

    方法明就是参数的名称

    返回值类型就是参数类型(返回值类型只能是基本类型、class、String、enum)

    可以通过default来声明参数的默认值

    如果只有一个参数成员,一般参数名为vaule

    3.反射机制处理注解

    ORM:类和表互相转化

    类和表结构对应

    属性和字段对应

    对象和机录对应

    使用注解完成类和表结构的映射关系

  • 相关阅读:
    IOS compare 字符串比较
    Cocoa Touch事件处理流程--响应者链
    真机测试及布署Code Sign error问题总结
    CG_INLINE,inline 内联函数
    objective-c static变量的使用总结
    iOS用户信息单例的创建
    UITextField-修改占位文字和光标的颜色,大小
    iOS应用程序生命周期(前后台切换,应用的各种状态)详解
    深入理解RunLoop
    jQuery文件上传插件uploadify
  • 原文地址:https://www.cnblogs.com/chengkuan/p/13410529.html
Copyright © 2011-2022 走看看