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

目录

注解概念

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

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

注解格式

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

@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 { ... }

在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
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值