关于java:Java中的注解Annotation

5次阅读

共计 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”)
正文完
 0