Annotation(注释):基本Annotation
2015-05-04 15:53
89 查看
Annotation其实是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation,程序开发人员可以在不改变原有逻辑的情况下,在源文件切入一些补充的信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。
三个基本Annotation的用法:使用Annotation时要在其前面增加@符号,并把该Annotation当成一个修饰符使用,用于修饰它支持的程序元素。
三个基本的Annotation如下:
1. @Override
2. @Deprecated
3. @SuppressWarnings
限定重写父类方法:@Override
@Override就是用来制定方法覆载的,它可以强制一个子类必须要覆盖父类的方法。如下程序中使用@Override指定子类Apple的info方法必须重写父类方法。
@Override Annotation的作用是告诉编译器检查这个方法,并从父类查找是否包含一个被该方法重写的方法,否则就编译出错。
标记已过时:@Deprecated
@Deprecated用于表示某个程序元素(类、方法等)已过时,当其他程序使用已过时的类、方法时,编译器将会给出警告。如下程序制定Apple类中的info方法已过时,其他程序中使用Apple类的info方法时编译器将会给出警告。
抑制编译器警告:@SuppressWarnings
@SuppressWarnings指示被Annotation标识的程序元素(以及在该程序元素中的所有子元素)取消显示指定的编译器警告。@SuppressWarnings会一直作用于该程序元素的所有子元素,例如使用@SuppressWarnings标识一个类来取消显示某个编译器警告,同时又标识该类里某个方法取消显示另一个编译器警告,那么将在此方法中同时取消显示这两个编译器警告。
下面程序取消了没有使用泛型的编译器警告。
上面程序用了@SuppressWarnings来关闭SuppressWarningsTest类里的所有编译器警告,编译上面程序时将不会看到任何编译器警告。
三个基本Annotation的用法:使用Annotation时要在其前面增加@符号,并把该Annotation当成一个修饰符使用,用于修饰它支持的程序元素。
三个基本的Annotation如下:
1. @Override
2. @Deprecated
3. @SuppressWarnings
限定重写父类方法:@Override
@Override就是用来制定方法覆载的,它可以强制一个子类必须要覆盖父类的方法。如下程序中使用@Override指定子类Apple的info方法必须重写父类方法。
public class Fruit{ public void info(){ System.out.println("水果的info方法"); } } class Apple extends Fruit{ @Override public void info(){ System.out.println("苹果重写水果的info方法"); } }
@Override Annotation的作用是告诉编译器检查这个方法,并从父类查找是否包含一个被该方法重写的方法,否则就编译出错。
标记已过时:@Deprecated
@Deprecated用于表示某个程序元素(类、方法等)已过时,当其他程序使用已过时的类、方法时,编译器将会给出警告。如下程序制定Apple类中的info方法已过时,其他程序中使用Apple类的info方法时编译器将会给出警告。
class Apple{ @Deprecated public void info(){ System.out.println("Apple的info方法"); } } public class DeprecatedTest{ public static void main(String[] args){ new Apple().info(); } }
抑制编译器警告:@SuppressWarnings
@SuppressWarnings指示被Annotation标识的程序元素(以及在该程序元素中的所有子元素)取消显示指定的编译器警告。@SuppressWarnings会一直作用于该程序元素的所有子元素,例如使用@SuppressWarnings标识一个类来取消显示某个编译器警告,同时又标识该类里某个方法取消显示另一个编译器警告,那么将在此方法中同时取消显示这两个编译器警告。
下面程序取消了没有使用泛型的编译器警告。
@SuppressWarnings(value="unchecked") public class SuppressWarningsTest{ public static void main(String[] args){ List<String> myList = new ArrayList(); } }
上面程序用了@SuppressWarnings来关闭SuppressWarningsTest类里的所有编译器警告,编译上面程序时将不会看到任何编译器警告。
相关文章推荐
- 学习实战全笔记--JavaSE--Annotation(注释)--5种基本注释的用法示例(JDK8)
- 深入理解Java:注解(Annotation)基本概念
- 注释(Annotation)
- [1] 注解(Annotation)-- 深入理解Java:注解(Annotation)基本概念
- spring-基于注释(Annotation)的配置(转) 4
- 神经网络与深度学习 第二章 反向传播算法(两个假设、四个基本方程及其证明、代码及注释)
- 黑马程序员--Java基础学习之内省(IntroSpector)、注释(Annotation)
- 第01章 CORE C++_C++ 基本结构_注释_输出语句_输入语句_初始化_条件控制_ASCII码值_转义字符_常量_变量_类型长度_运算符
- 深入理解Java:注解(Annotation)基本概念
- JDK5.0中注释(Annotation)的用法
- PHP学习笔记(一):基本语法之标记、空白、和注释
- HTML内部文本的基本结构及注释
- 深入理解Java:注解(Annotation)(一)——基本概念
- Spring基本配置、注释与简化配置介绍(转)
- 深入理解Java:注解(Annotation)基本概念
- AndroidStudio Annotation 创建注释模板
- 深入理解Java:注解(Annotation)基本概念
- 第02天C语言(04):注释-基本概念
- JDK5.0 Annotation注释 入门介绍
- 深入理解Java:注解(Annotation)基本概念