【JavaSE系列—基础篇7】——注解基础知识
来源:互联网 发布:上海软件项目经理工资 编辑:程序博客网 时间:2024/06/07 23:47
目录
- 目录
- 注解概念
- 注解格式
- 注解用在哪里
注解概念
注解,元数据的一种形式,提供了和程序有关但不是程序本身的一部分的数据。添加了注解对代码没有直接的影响。
注解有很多用途,其中包含:
- 编译器的信息——注解可以用来使编译器检测错误或者忽略警告。
- 编译时和部署时处理——软件工具可以处理注解信息以生成代码,XML文件等。
- 运行时处理——一些注解可以在运行时检查。
注解格式
最简单的形式,一个注解可能是如下这个样子的:
@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
- 【JavaSE系列—基础篇7】——注解基础知识
- 【JavaSE系列--基础篇7】——定义一个注解类型
- JavaSE基础—Annotation(注解)
- 【JavaSE系列-基础篇7】——运算符
- JavaSE 拾遗(17)——JavaSE 高新技术基础增强...注解
- 【JavaSE系列-基础篇6】——变量
- 【JavaSE系列-基础篇6】——变量基本数据类型
- 【JavaSE系列-基础篇6】——变量默认值
- 【JavaSE系列-基础篇6】——数组
- 【JavaSE系列-基础篇6】——泛型类型
- 【JavaSE系列-基础篇6】——泛型方法
- JavaSE基础知识学习—封装
- JavaSE基础知识学习—继承
- JavaSE基础知识学习—多态
- JavaSE基础知识学习—异常
- JavaSE基础知识学习—泛型
- JavaSE基础知识学习—集合
- Javase—java基础
- Vue, App与我(六)
- jQuery插件开发
- Content Provider之间互相通信的源码浅析
- MySQL加强170725
- unicode,decode,encode在python的作用
- 【JavaSE系列—基础篇7】——注解基础知识
- 修改UBuntu的文件夹权限
- nginx配置与优化
- 2017.07.27am-初学Javascript的小笔记
- mybatis学习笔记
- String类——常见字符串操作指令
- android ndk error :undefined reference to.
- QtableView选择范围操作 通过MAP存储选择行 获取最上行号和最下行号 上移下移一行等一系列操作
- 链表--已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。