美文网首页Java 杂谈
如何理解Java的注解

如何理解Java的注解

作者: 半亩房顶 | 来源:发表于2019-04-12 11:31 被阅读0次

1.什么是注解?

对程序代码本身的描述-代码元数据,一种约定的规范,包括格式、意义、作用域等。

2.基本概念

  • 注解对象:注解可以被用在包,类,方法,变量,参数上;
  • 注解不会直接影响被注解的代码,这只会向第三系统提供关于自己的信息以用于不同的需求;
  • 注解会被编译至class文件中,而且会在运行时被处理程序提取出来用于业务逻辑。当然,创建在运行时不可用的注解也是可能的,甚至可以创建只在源文件中可用,在编译时不可用的注解。

3.程序如何使用注解?

利用被注解代码并根据注解信息产生不同行为。

4.内建注解

Java语言自带了一系列的注解。在本章中我们将阐述最重要的一部分。这个清单只涉及了Java语言最核心的包,未包含标准JRE中所有包和库如JAXB或Servlet规范。

以下讨论到的注解中有一些被称之为Meta注解,它们的目的注解其他注解,并且包含关于其它注解的信息。

@Retention:这个注解注在其他注解上,并用来说明如何存储已被标记的注解。这是一种元注解,用来标记注解并提供注解的信息。可能的值是:

  • SOURCE:表明这个注解会被编译器忽略,并只会保留在源代码中。
  • CLASS:表明这个注解会通过编译驻留在CLASS文件,但会被JVM在运行时忽略,正因为如此,其在运行时不可见。
  • RUNTIME:表示这个注解会被JVM获取,并在运行时通过反射获取。

@Target:

这个注解用于限制某个元素可以被注解的类型。例如:

  • ANNOTATION_TYPE 表示该注解可以应用到其他注解上
  • CONSTRUCTOR 表示可以使用到构造器上
  • FIELD 表示可以使用到域或属性上
  • LOCAL_VARIABLE表示可以使用到局部变量上。
  • METHOD可以使用到方法级别的注解上。
  • PACKAGE可以使用到包声明上。
  • PARAMETER可以使用到方法的参数上
  • TYPE可以使用到一个类的任何元素上。

@Documented:

被注解的元素将会作为Javadoc产生的文档中的内容。注解都默认不会成为成为文档中的内容。这个注解可以对其它注解使用。

@Inherited:

在默认情况下,注解不会被子类继承。被此注解标记的注解会被所有子类继承。这个注解可以对类使用。

@Deprecated:

说明被标记的元素不应该再度使用。这个注解会让编译器产生警告消息。可以使用到方法,类和域上。相应的解释和原因,包括另一个可取代的方法应该同时和这个注解使用。

@SuppressWarnings:

说明编译器不会针对指定的一个或多个原因产生警告。例如:如果我们不想因为存在尚未使用的私有方法而得到警告可以这样做:

@SuppressWarnings( "unused")
privateString myNotUsedMethod(){
 ...
}

通常,编译器会因为没调用该方而产生警告; 用了注解抑制了这种行为。该注解需要一个或多个参数来指定抑制的警告类型。

@Override:

向编译器说明被注解元素是重写的父类的一个元素。在重写父类元素的时候此注解并非强制性的,不过可以在重写错误时帮助编译器产生错误以提醒我们。比如子类方法的参数和父类不匹配,或返回值类型不同。

@SafeVarargs:

断言方法或者构造器的代码不会对参数进行不安全的操作。在Java的后续版本中,使用这个注解时将会令编译器产生一个错误在编译期间防止潜在的不安全操作。


欢迎大家关注我的公众号


半亩房顶

相关文章

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

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

  • Java注解简介篇

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

  • 如何理解Java的注解

    1.什么是注解? 对程序代码本身的描述-代码元数据,一种约定的规范,包括格式、意义、作用域等。 2.基本概念 注解...

  • Spring注解原理探索(一)

    之 Java元注解释义 Question 注解在Java中如何起作用? Spring是如何识别注解? 如何自定义注...

  • 编写java注解和注解处理器

    注解是java语言中一种重要的特性。本文介绍如何编写注解、如果使用注解以及如何编写注解处理器。 注解在java开发...

  • 画个图,玩一下注解

    参考《深入理解Java:注解(Annotation)自定义注解入门》

  • Java注解

    在写java代码的过程中,经常会遇到注解,但是没有去理解注解背后的原理,也没有实现过注解。网上关于java注解的文...

  • Spring注解原理探索(三)

    之 Java如何识别注解 关键词:Java 反射java.lang.reflect 包,实现反射功能的工具类。注解...

  • 注解

    Java 注解原理 下面来看看Java中注解是如何实现的 创建注解类Inter: 创建测试类Test: 在程序第二...

  • 理解Java注解

    关于注解 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个...

网友评论

    本文标题:如何理解Java的注解

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