大可制作:QQ群:31564239(asp|jsp|php|mysql)

Java Gossip: 标示方法为 Deprecated - Deprectated

java.lang.Deprectated是J2SE 5.0中标准的Annotation类型之一,它对编译器说明某个方法已经不建议使用,如果有人试图使用或覆盖该方法,必须提出警示讯息。

举个例子来说,您可能定义一个CustomObject类,并在当中定义有getSomething()方法,而在一段时间之后,您不建议使用这个方法 了,并要将这个方法标示为deprectated,您可以这么作

  • CustomObject.java
public class CustomObject {

@Deprecated public String getSomething() {
return "something";
}
}

如果有人试图在继承这个类后覆盖getSomething(),或是在程序中调用使用getSomething()方法,则进行编译时,就会出现这 个警讯:
Note: SubCustomObject.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

想要知道详细的警讯内容的话,可以在编译时加上-Xline:deprecation参数,例如:
>javac -Xlint:deprecation SubCustomObject.java
SubCustomObject.java:5: warning: [deprecation] getSomething() in CustomObject ha s been deprecated
object.getSomething();
^
1 warning

java.lang.Deprecated是个Marker annotation,简单的说就是用于标示,annotation名称本身即包括了要给工具程序的信息。