Java Annotation详解及实例代码
程序员文章站
2024-03-06 10:28:13
一、annotation简介
从java1.5开始,java增加了元数据(metadata)的支持,也就是annotation(注释);
annota...
一、annotation简介
- 从java1.5开始,java增加了元数据(metadata)的支持,也就是annotation(注释);
- annotation能被用来为程序元素(类、方法、成员变量等)设置元数据;
- annotation不能影响程序代码的执行,无论添加、删除annotation,代码始终如一的执行;
- 如果希望让程序中的annotataion能在 运行时其一定作用,只有通过某种配套的工具对annotation中的信息进行访问和处理,这些工具统称apt(annotion processing tool);
二、三个基本的annotation如下:
@override:限定重写父类方法
- 用来指定方法覆盖的,它可以强制一个子类必须要覆盖父类的方法;
- 只能用作于方法,不能用于作用其他程序元素;
- 主要是帮助我们避免一些低级错误;
public class fruit { public void foo(){ system.out.println("水果的info方法。。。"); } } class apple extends fruit { //使用@override指定下面方法必须重写父类方法 @override public void foo() { system.out.println("苹果重写水果的info方法..."); } }
@deprecated:标记已过时
用于标识某个程序元素(类、方法等)已过时,当其他程序使用已过时的类、方法时,编译器将会给出警告;
class apple1{ //定义info方法已经过时 @deprecated public void info(){ system.out.println("apple的info方法"); } } public class deprecatedtest { public static void main(string[] args) { //下面使用info方法时将会被编译器警告 new apple1().info(); } }
@suppresswarnings:抑制编译器警告
- 指示被annotation标识的程序元素(以及在该程序元素中的所有字元素)取消显示指定的编译器警告;
- 一直作用于该程序元素的所有子元素;
//关闭整个类里的编译器警告 @suppresswarnings(value="unchecked") public class suppresswarningstest { @suppresswarnings("rawtypes") public static void main(string[] args) { list<string> mylist = new arraylist(); mylist.add("java"); } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!