注解:注解基础

Posted dajunjun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了注解:注解基础相关的知识,希望对你有一定的参考价值。

注解的格式

最简单的格式,一个注解看起来像下面这样:

@Entity

阿特符号字母(@)向编译器表明后面的是一个注解。在下面的例子中,注解的名称是 Override:

@Override
void mySuperMethod() { ... }

注解可以包含元素,元素可以是命名的或匿名的,这些元素是有值的:

@Author(
  name = "Benjamin Franklin",
  date = "3/27/2003"
)
class MyClass() { ... }

或者:

@SuppressWarnings(value = "unchecked")
void myMethod() { ... }

如果只有一个名称为 value 的元素,那么名称可以被忽略,像:

@SuppressWarnings("unchecked")
void myMethod() { ... }

如果注解没有元素,那么括号可以被忽略,像前面 @Override 例子展示的。

也可以在同一个声明上使用多个注解:

@Author(name = "Jane Doe")
@EBook
class MyClass { ... }

如果注解是相同的类型,那么这被叫做重复注解:

@Author(name = "Jane Doe")
@Author(name = "John Smith")
class MyClass { ... }

重复注解在 Java SE 8 中被支持。要获取更多信息,参见重复注解

注解的类型可以是在 Java SE API 的 java.lang 或 ava.lang.annotation 包中定义的一个类型。在前面的例子中,Override 和 SuppressWarnings 是预定义 Java 注解。也可以定义你自己的注解类型。在前面例子中的 Author 和 Ebook 注解是自定义注解类型。

注解可以被用在哪里

注解可以用在声明上:类、属性、方法和其他程序元素声明。当用在声明上,按照惯例每个注解出现在一行。

像 Java SE 8 版本,注解也被应用到类型使用上。这有一些例子:

  • 类实例创建表达式:

    new @Interned MyObject();

  • 强制类型转换:

    myString = (@NonNull String) str;

  • implements 子句:

    class UnmodifiableList implements @Readonly List<@Readonly T> { … }

  • 抛出异常声明:

    void monitorTemperature() throws @Critical TemperatureException { … }

注解的这种形式叫做类型注解。获取更多信息,参见类型注解和可插拔类型系统

原文:大专栏  注解(二):注解基础


以上是关于注解:注解基础的主要内容,如果未能解决你的问题,请参考以下文章

java基础巩固笔记-注解

Hibernate注解常见错误

java 编程基础:注解(Annotation Processing Tool)注解处理器 利用注解解读类属性生成XML文件

Spring基础:注解方式创建对象IOC

java 注解(annotation)基础学习

Java 注解与反射 基础