注解

什么是注解?

  1、注解:annocation,是从JDK5.0开始引进入的新技术。

  2、注解的作用:

    • 不是程序本身,可以对程序做出解释,这一点和注释一样;
    • 可以被其他程序读取,这点是和注释的区别。

  3、注解的格式:@注释名  ,还可以添加一些参数值。

  4、注解的使用地方:注解可以附加在package、class、method、field等上面,相当于给它们加一些额外的信息,我们可以通过反射机制,实现对这些元数据的访问。

内置注解

  内置注解,有@Override、@Deprecated和@SuppressWarning。

  • @Override:此注解只适用于修饰方法,表示一个方法声明打算重写超类中的方法声明。
  • @Deprecated:此注解可以修饰方法、属性和类,表示不推荐使用这样的元素。通常是因为它很危险或者有更好的选择。
  • @SuppressWarning:用来抑制编译时的警告信息。它和前2个不同,该注解需要添加参数才能正常使用,参数有以下几种:
    • @SuppressWarning("all")    // 省略了 value =
    • @SuppressWarning("unchecked")
    • @SuppressWarning("value" = {"unchecked","deprecation"})         

元注解

  元注解:即注解的注解,负责对注解进行注解和说明,共4个标准的元注解类型,即@Target、@Retention、@Documented和@Inherited。

  • @Target:描述注解的使用范围;
  • @Retention:表示需要在什么级别保存该注解信息,用于描述注解的生命周期;共有三种级别:(Source<Class<Runtime);
  • @Documented:该注解会生成在javadoc中。
  • @Inherited:说明子类可以继承父类中的该注解。

自定义注解

  自定义注解的格式:public @interface 注解名{注解体}

反射

  

Java基础__06.注解和反射的更多相关文章

  1. Java基础篇——注解和反射

    注解 注解Annotation可以被其他程序(编译器)读取,常见的有@override 内置注解 @Override 适用于修饰方法,表明重写父类中的一个方法 @Deprecated 用于修饰类.方法 ...

  2. Java利用自定义注解、反射实现简单BaseDao

    在常见的ORM框架中,大都提供了使用注解方式来实现entity与数据库的映射,这里简单地使用自定义注解与反射来生成可执行的sql语句. 这是整体的目录结构,本来是为复习注解建立的项目^.^ 好的,首先 ...

  3. 【Java】利用注解和反射实现一个"低配版"的依赖注入

    在Spring中,我们可以通过 @Autowired注解的方式为一个方法中注入参数,那么这种方法背后到底发生了什么呢,这篇文章将讲述如何用Java的注解和反射实现一个“低配版”的依赖注入. 下面是我们 ...

  4. Java基础教程——注解

    注解 JDK 5开始,Java支持注解. 注解,Annotation,是一种代码里的特殊标记,这些标记可以在编译.类加载.运行时被读取并执行,而且不改变原有的逻辑. 注解可以用于:生成文档.编译检查. ...

  5. Java学习笔记--注解和反射

    注解和反射 1. 注解 注解作用: 对程序做出解释 被其他程序读取 注解格式: @注释名,还可以添加一些参数值,例如@SuppressWarnings(value="unchecked&qu ...

  6. java基础第12期——反射、注解

    一. 反射 反射: 将类的各个组成部分封装为其他对象. 1.1 获取class对象的方式 Class.forName("全类名"): 将字节码文件加载进内存,返回class对象 多 ...

  7. JAVA基础 (二)反射 深入解析反射机制

    在谈论到反射这个问题时,你是否有例如以下疑问? 不管是在.NET还是Java中反射的原理和机制是一样的,理解了一种还有一种就能够迎刃而解,想要理解反射首先须要了解底层的一些概念和执行.理解了反射有助于 ...

  8. JAVA基础知识之JVM-——通过反射查看类信息

    Class实例 当类被加载之后,JVM中就会生成一个Class实例,通过这个实例就可以访问JVM中的这个类.有三种方式可以获取Class对象 使用Class的静态方法forName(完整包名) 调用类 ...

  9. 【转载】JAVA基础:注解

    原文:https://www.cnblogs.com/xdp-gacl/p/3622275.html#undefined 一.认识注解 注解(Annotation)很重要,未来的开发模式都是基于注解的 ...

  10. java基础篇---注解(Annotation)

    一.概念 Annontation是Java5开始引入的新特征.中文名称一般叫注解.它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类.方法.成员变量等)进行关 ...

随机推荐

  1. JZOJ 100149. 一道联赛A题

    \(\text{Solution}\) 一眼 \(ODT\) 为避免每次都数颜色数量,提前记录下来,每次修改更新下 \(\text{Code}\) #include <cstdio> #i ...

  2. WHAT IS PPM Encoder ?

    About PPM Encoder The PPM encoder allows to encode up to 8 PWM (pulse width modulated) signals into ...

  3. 前端回血day24 flex子项伤的CSS属性

    取值 含义 order 可以通过设置order改变某一个flex子项的排序位置.所有flex子项的默认order属性值是0 flex-grow 属性中的grow是扩展的意思,扩展的就是flex子项所占 ...

  4. 关于服务器上的XML

    服务器上的 XML XML 文件是类似 HTML 文件的纯文本文件. XML 能够通过标准的 Web 服务器轻松地存储和生成. 在服务器上存储 XML 文件 XML 文件在 Internet 服务器上 ...

  5. 数值分析之解线性方程组的直接方法 5.X

    矩阵 谱分解 设 \(\boldsymbol{A}=a_{i j} \in \mathbb{R}^{n \times n}\) , 若存在数 \(\lambda\) (实数或复数) 和非零向量 \(\ ...

  6. UE4启动顺序

    GameMode PlayerController Actor Level gameMode , playerController控制pawn , 激活默认相机active camera , getP ...

  7. python实现PDF指定页面旋转

    下面示例代码,是将横向纸张旋转为纵向(根据纸张大小判断纸张方向) 方法一:使用PyPDF2库 from PyPDF2 import PdfFileWriter, PdfFileReader def p ...

  8. Java——IO框架

    IO框架 流:内存与存储设备之间传输数据的通道 分类 流向 输入流:从硬盘等外设到内存的流 输出流:从内存到硬盘等外设的流 传输单位 字节流(抽象类InputStream,OutputStream): ...

  9. vue的:class设置多个值

    vue的:class设置多个值 :class="[{ 'labTilTemplate': item.editType == 11 }, { 'txtBold': item.bold == 1 ...

  10. containerd 卸载

    一.创建脚本 cat > remove.sh <<EOF #!/bin/bash # 删除contained命令及配置 rm -rf /usr/local/bin/ rm -rf / ...