它对编译器说明某个方法已经不建议使用,如果有人试图使.docVIP

  • 17
  • 0
  • 约1万字
  • 约 14页
  • 2016-10-04 发布于天津
  • 举报

它对编译器说明某个方法已经不建议使用,如果有人试图使.doc

它对编译器说明某个方法已经不建议使用,如果有人试图使.doc

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.Override是J2SE 5.0中标准的Annotation型态之一,它对编译器说明某个方法必须是重新定义父类别中的方法,编译器得知这项资讯后,在编译程式时如果发现该方法并非重新定义父类别中的方法,就会回报错误。 举个例子来说,如果您在定义新类别时想要重新定义toString()方法,您可能会写成这样: CustomObject.java public class CustomObject { public String ToString() { return customObject; } } 在撰写toString()方法时,您因为打字错误或其它的疏忽,将之打成了ToString(),但您编译这个类别时并不会出现任何的错误,编译器只当您是定义了一个新的ToString()。 您可以使用java.lang.Override这个Annotation型态,在方法上加上一个@Override的Annotation,告诉编译器您现在定义的这个类别是重新定义父类别中的同名方法,例如: CustomObject.java public class CustomObject { @Override public String ToString() { return customObject; } } 在编译程式时,编译器看到@Override这个Annotation,了解它必须检查这个方法是不是重新定义父类别的ToString()方法,但父类别中并没有这个方法,所以它会回报错误: CustomObject.java:2: method does not override a method from its superclas @Override ^ 1 error 重新修改一下程式,编译时就不会有问题了: CustomObject.java public class CustomObject { @Override public String toString() { return customObject; } } java.lang.Override是个Marker annotation,简单的说就是用于标示,annotation名称本身即包括了要给工具程式的资讯。java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation型态之一,它对编译器说明某个方法中若有警示讯息,则加以抑制,不用在编译完成后出现警讯。 在这边到说明SuppressWarnings的功能,考虑下面这个类别: SomeObject.java import java.util.*; public class SomeObject { public void doSomething

文档评论(0)

1亿VIP精品文档

相关文档