【JavaSE系列—基础篇7】——注解基础知识

来源:互联网 发布:上海软件项目经理工资 编辑:程序博客网 时间:2024/06/07 23:47

目录

  • 目录
    • 注解概念
    • 注解格式
    • 注解用在哪里

注解概念

注解,元数据的一种形式,提供了和程序有关但不是程序本身的一部分的数据。添加了注解对代码没有直接的影响。
注解有很多用途,其中包含:

  1. 编译器的信息——注解可以用来使编译器检测错误或者忽略警告。
  2. 编译时和部署时处理——软件工具可以处理注解信息以生成代码,XML文件等。
  3. 运行时处理——一些注解可以在运行时检查。

注解格式

最简单的形式,一个注解可能是如下这个样子的:

@Entity

符号@ 指示给编译器下面跟随的是一个注解。在下面的例子中,注解的名称是Override:

@Overridevoid 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")@EBookclass MyClass { ... }

如果注解有相同的类型,我们叫它重复注解:

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

在JavaSE8的release版本中是支持重复注解的,如果想要获得更多了解,请看重复注解章节。

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

注解用在哪里

注解可以用于声明:声明类,属性,方法,和其他程序元素。

在JavaSE8的release版本中,注解可以用于类型,这里有一些例子:

类实例创建表达式

 new @Interned MyObject();

类型转换

 myString = (@NonNull String) str;

实现限制

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

抛异常声明

   void monitorTemperature() throws        @Critical TemperatureException { ... }

注解的形式被叫做类型注解。

阅读全文
0 0
原创粉丝点击