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