根本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")