我有一个像这样的java程序:
public class Demo {
/**
* @deprecated use of func is discouraged.
*/
@Deprecated
static void func() {}
public static void main(String[] args){
func();
}
}
为什么当我尝试使用javac
进行编译时,它不会给我任何警告。
答案 0 :(得分:10)
http://docs.oracle.com/javase/7/docs/technotes/guides/javadoc/deprecation/deprecation.html
它说
使用注释会导致Java编译器在使用不推荐使用的类,方法或字段时生成警告。如果不推荐的编译单元使用不推荐使用的类,方法或字段,则编译器会禁止弃用警告。这使您可以构建旧API而不会生成警告。
如果您编译了类,则会看到您使用的是已弃用的方法。问题是当您编译使用不推荐使用的方法的类时。