在JAVA中存在三个JAVA内建的注解@Deprecated @Override @SuppressWarnings
@Deprecated表示不建议使用,可以用来为方法和类注解
一、把方法注解
package cn.yangtao.ceshi;
public class Student{
public static void main(){
sayHello();
}
@Deprecated
private static void sayHello() {
// TODO Auto-generated method stub
}
}
在主方法中使用sayHello()时,编译时会出现警告
二、把类注解
package cn.yangtao.ceshi;
@Deprecated
class People{
public static void onClass(){
System.out.println("在类上添加注解");
}
}
public class Student{
public static void main(){
sayHello();
People.onClass();
}
@Deprecated
private static void sayHello() {
// TODO Auto-generated method stub
}
}
引用People时,开发工具就会用横线来提醒你出错
@ Override用来标明是覆写
package cn.yangtao.ceshi;
class People{
public void sayHello(){
System.out.println("在类上添加注解");
}
}
public class StudentDemo extends People{
public static void main(String args[]){
new StudentDemo().sayHello();
}
@ Override
public void sayHello(){
System.out.println("已经覆写");
}
}
此时如果将sayHello()改为sayhello()就会出错,因为已经表明了该方法为覆写过的方法,所以方法名要一致
@ SuppressWarnings 用来压制警告
package cn.yangtao.ceshi;
public class StudentDemo {
@SuppressWarnings("deprecation")
public static void main(String args[]){
new StudentDemo().sayHello();
}
@ Deprecated
public void sayHello(){
System.out.println("已经覆写");
}
}
以下介绍SuppressWarnings的一些参数
1、deprecation 使用了不赞成使用的类或方法时的警告
2、unchecked 执行了未检查的转换时警告
3、fallthrough 当使用switch操作时case后未加入break操作,而导致程序继续执行其他case语句时出现的警告
4、path 当设置一个错误的类路径、源文件路径时出现的警告
5、serial 当在可序列化的类上缺少serialVersionUID定义时的警告
6、fianally 任何finally子句不能正常完成时警告
7、all 关于以上所有情况的警告