共计 1216 个字符,预计需要花费 4 分钟才能阅读完成。
根本 Annotation
- @Override
- @Deprecated
- @SuppressWarnings
- @SafeVarargs
@Override 用来指定办法重载,它能够强制一个子类必须笼罩父类的办法。
- 次要是帮忙咱们防止一些低级谬误,例如:父类中有个 run() 办法,子类中的办法名不小心写成了 runn(),在程序编译时候会报错提醒。
- 只能作用于办法,不能作用于其余程序元素。
@Deprecated 用于示意某个元素(类、办法等)已过期,当其余程序应用已过期的类、办法时,编译器将会给出正告。
- 尽管呈现正告,但不影响应用,应用还是能够应用的
// 父类,其中标记为 test() 办法是过期办法。public class SupperClass {
@Deprecated
public void test(){System.out.println("我是父类过期办法 test");
}
}
// 子类调用是,编译会正告提醒,办法曾经过期。public class SonClass extends SupperClass{public static void main(String[] args) {SonClass sonClass = new SonClass();
sonClass.test();// 提醒办法已过期
}
}
@SuppressWarnings 批示被该 Annotation 润饰的程序元素(以及该程序的所有子元素)勾销显示指定的编译器正告。
- 如果应用了带 @Deprecated 正文的办法,编译器将在调用此办法的中央呈现正告信息。将 @SuppressWarnings(“deprecation”) 放在调用过期办法的那个类上,则正告信息去掉。
public class SupperClass {
@Deprecated
public void test(){System.out.println("我是父类过期办法 test");
}
}
@SuppressWarnings("deprecation")// 加上此注解,调用过期办法的正告提醒隐没
public class SonClass extends SupperClass{public static void main(String[] args) {SonClass sonClass = new SonClass();
sonClass.test();}
}
SafeVarargs 在申明具备含糊类型(比方:泛型)的可变参数的构造函数或办法时,Java 编译器会报 unchecked 正告。
- 这类状况,如果确定申明的构造函数和办法的主体不会对其 varargs 参数执行潜在的不平安的操作,可应用 @SafeVarargs 进行标记,这样的话,Java 编译器就不会报 unchecked 正告。
- 对于非 static 或非 final 申明的办法,不实用,会编译不通过。如果要克制 unchecked 正告,能够应用 @SuppressWarnings 注解:@SuppressWarnings(“unchecked”)
正文完