Java Annotation详解及实例代码

时间:2021-05-20

一、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"); } }

    感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章