欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java Annotation详解及实例代码

程序员文章站 2024-03-05 08:47:18
一、annotation简介 从java1.5开始,java增加了元数据(metadata)的支持,也就是annotation(注释); annota...

一、annotation简介

  • 从java1.5开始,java增加了元数据(metadata)的支持,也就是annotation(注释);
  • annotation能被用来为程序元素(类、方法、成员变量等)设置元数据;
  • annotation不能影响程序代码的执行,无论添加、删除annotation,代码始终如一的执行;
  • 如果希望让程序中的annotataion能在 运行时其一定作用,只有通过某种配套的工具对annotation中的信息进行访问和处理,这些工具统称apt(annotion processing tool); 

二、三个基本的annotation如下:

@override:限定重写父类方法

  1. 用来指定方法覆盖的,它可以强制一个子类必须要覆盖父类的方法;
  2. 只能用作于方法,不能用于作用其他程序元素;
  3. 主要是帮助我们避免一些低级错误;
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:抑制编译器警告

  1. 指示被annotation标识的程序元素(以及在该程序元素中的所有字元素)取消显示指定的编译器警告;
  2. 一直作用于该程序元素的所有子元素;

//关闭整个类里的编译器警告  
@suppresswarnings(value="unchecked")  
public class suppresswarningstest {  
  @suppresswarnings("rawtypes")  
  public static void main(string[] args) {  
    list<string> mylist = new arraylist();  
    mylist.add("java");  
  }  
} 

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