Annotation _系统内建Annotation (一)

2014-11-24 02:43:01 · 作者: · 浏览: 2

了解Annotation 的作用

掌握系统内建的三个Annotation

Annotation:在JDK1.5之后增加的一个新特性,这种特性被称为元数据特性,在JDK1.5 之后称为注释,即:使用注释的方式加入一些程序的信息。

java.lang.annotation.Annotation 接口是所有的 Annotation 都必须实现的接口。

\

\

1、@Override 表示方法覆写的正确性,例如现在有如下一段代码:

view plaincopy to clipboardprint class Person{
public String getInfo(){ // 取得信息
return "这是一个Person类。" ;
}
};
class Student extends Person{ // 继承此类
public String getinfo(){ // 覆写方法
return "这是一个Student类。" ;
}
};
public class OverrideAnnotationDemo01{
public static void main(String args[]){
Person per = new Student() ;
System.out.println(per.getInfo()) ; // 输出信息
}
};
class Person{
public String getInfo(){ // 取得信息
return "这是一个Person类。" ;
}
};
class Student extends Person{ // 继承此类
public String getinfo(){ // 覆写方法
return "这是一个Student类。" ;
}
};
public class OverrideAnnotationDemo01{
public static void main(String args[]){
Person per = new Student() ;
System.out.println(per.getInfo()) ; // 输出信息
}
};

此时,可能存在某种失误,将方法名称编写错误。

view plaincopy to clipboardprint class Person{
public String getInfo(){ // 取得信息
return "这是一个Person类。" ;
}
};
class Student extends Person{ // 继承此类
@Override
public String getinfo(){ // 覆写方法
return "这是一个Student类。" ;
}
};
public class OverrideAnnotationDemo01{
public static void main(String args[]){
Person per = new Student() ;
System.out.println(per.getInfo()) ; // 输出信息
}
};
class Person{
public String getInfo(){ // 取得信息
return "这是一个Person类。" ;
}
};
class Student extends Person{ // 继承此类
@Override
public String getinfo(){ // 覆写方法
return "这是一个Student类。" ;
}
};
public class OverrideAnnotationDemo01{
public static void main(String args[]){
Person per = new Student() ;
System.out.println(per.getInfo()) ; // 输出信息
}
};使用Override 注释可以保证程序正确的执行。

2、@Deprecated

使用@Deprecated 注释的Annotation 本身是不建议使用的一个操作。

view plaincopy to clipboardprint class Demo{
@Deprecated // 声明不建议使用的操作
public String getInfo(){
return "这是一个Person类。" ;
}
};
public class DeprecatedAnnotationDemo01{
public static void main(String args[]){
Demo d = new Demo() ;
System.out.println(d.getInfo()) ;
}
};
class Demo{
@Deprecated // 声明不建议使用的操作
public String getInfo(){
return "这是一个Person类。" ;
}
};
public class DeprecatedAnnotationDemo01{
public static void main(String args[]){
Demo d = new Demo() ;
System.out.println(d.getInfo()) ;
}
};以上程序让编译出错,而是出现了一个安全的警告信息。

view plaincopy to clipboardprint @Deprecated // 声明不建议使用的操作
class Demo{
public String getInfo(){
return "这是一个Person类。" ;
}
};
public class DeprecatedAnnotationDemo02{
public static void main(String args[]){
Demo d = new Demo() ;
System.out.println(d.getInfo()) ;
}
};
@Deprecated // 声明不建议使用的操作
class Demo{
public String getInfo(){
return "这是一个Person类。" ;
}
};
public class DeprecatedAnnotationDemo02{
public static void main(String args[]){
Demo d = new Demo() ;
System.out.println(d.getInfo()) ;
}
};3、@SuppressWarnings

用于压制警告信息。

以之前的泛型操作为例,在泛型中如果没有指定泛型类型,则使用时肯定出现安全警告。

view plaincopy to clipboardprint class Demo{
private T var ;
public T getVar(){
return this.var ;
}
public void setVar(T var){
this.var = var ;
}