Annotation是JDK1.5最大的特色,利用注解的形式来实现不同的功能。
在Java SE 里面支持自定义Annotation的开发,并且提供了三个最为常用的基础Annotation:@Override、@Deprecated、@SuppressWarnings 。
1. 准确的覆写:@Override
如果在输出对象的时候希望其可以返回需要的内容,那么一定要进行toString()方法的覆写。
范例:如果手误,导致以下的错误
class Book {
public String tostring() { //准备覆写toString()
return "this book!";
}
}
这个时候没有成功的覆写toString()方法,但是这个错误无法在编译的时候发现,只能在程序运行的时候才会报错。所以为了准确的覆写,就加上"@Override",明确的知道这个方法就是覆写来的,如果不是就报错。
@Override只能修饰方法,不能修饰其它程序元素
class Book {
@Override
public String toString() { //准备覆写toString()
return "this book!";
}
}
2. 声明过期操作:@Deprecated
@Deprecated并表示某个程序元素(类,方法等)已过时,当使用已过时的类、方法时,编译器会提示警告。
范例:声明过期操作
class Book {
@Deprecated
public void fun() {}
}
3. 抑制编译器警告: @SuppressWarnings
@SupperssWarnings表示被该Annotation修饰的程序元素(以及该程序元素中的所有子元素)取消显示指定的编译器警告。
范例:抑制编译器警告
class Book<T> {
@Deprecated
public void fun() {}
}
public class AnnotationDemo {
public static void main(String[] args) {
@SuppressWarnings("rawtypes")
Book book = new Book();
book.fun();
}
}