我想让我的一个方法“deprecated”=不再使用。
但我仍然希望在我的API中有它。我只是想对使用该方法的人显示“警告”。
我怎样才能做到呢?
你可以做两件事:
@Deprecated
@deprecated
你应该做两个!
引用这个主题的java文档:
从J2SE 5.0开始,可以使用@Deprecated注释来弃用类、方法或字段。此外,您可以使用@deprecated Javadoc标记告诉开发人员应该使用什么。 使用注释会导致Java编译器在使用废弃的类、方法或字段时生成警告。如果已弃用的编译单元使用了已弃用的类、方法或字段,编译器将抑制已弃用警告。这使您能够在不生成警告的情况下构建遗留api。 强烈建议使用Javadoc @deprecated标记,并附上解释如何使用新API的适当注释。这确保了开发人员有一条从旧API到新API的可行迁移路径
从J2SE 5.0开始,可以使用@Deprecated注释来弃用类、方法或字段。此外,您可以使用@deprecated Javadoc标记告诉开发人员应该使用什么。
使用注释会导致Java编译器在使用废弃的类、方法或字段时生成警告。如果已弃用的编译单元使用了已弃用的类、方法或字段,编译器将抑制已弃用警告。这使您能够在不生成警告的情况下构建遗留api。
强烈建议使用Javadoc @deprecated标记,并附上解释如何使用新API的适当注释。这确保了开发人员有一条从旧API到新API的可行迁移路径
使用@Deprecated on方法。不要忘记澄清javadoc字段:
/** * Does some thing in old style. * * @deprecated use {@link #new()} instead. */ @Deprecated public void old() { // ... }
为你的方法使用注释 @Deprecated,你也应该在你的javadocs中提到它。
看一下@Deprecated注释。
同时使用@Deprecated注释和@deprecated JavaDoc标记。
@deprecated JavaDoc标记用于文档的目的。
@Deprecated注释指示编译器该方法已弃用。以下是在Sun/ oracle文档中关于这个主题的描述:
使用@Deprecated注释来弃用一个类、方法或字段可以确保所有编译器在代码使用该程序元素时都会发出警告。相比之下,并不能保证所有编译器都会根据@deprecated Javadoc标记发出警告,尽管Sun编译器目前这样做。其他编译器可能不会发出这样的警告。因此,使用@Deprecated注释生成警告比依赖@deprecated Javadoc标记更可移植。
你可以在如何以及何时弃用api找到完整的文档
因为缺少一些小的解释
像这样在方法上使用@Deprecated注释
/** * @param basePrice * * @deprecated reason this method is deprecated <br/> * {will be removed in next version} <br/> * use {@link #setPurchasePrice()} instead like this: * * * <blockquote><pre> * getProduct().setPurchasePrice(200) * </pre></blockquote> * */ @Deprecated public void setBaseprice(int basePrice) { }
<br/>
{@link #setPurchasePrice()}