J2SE 批注

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了J2SE 批注相关的知识,希望对你有一定的参考价值。

@SuppressWarnings(unused)

J2SE 提供的最后一个批注是 @SuppressWarnings。该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。 
@SuppressWarnings 批注允许您选择性地取消特定代码段(即,类或方法)中的警告。
其中的想法是当您看到警告时,您将调查它,如果您确定它不是问题,您就可以添加一个 @SuppressWarnings 批注,
以使您不会再看到警告。虽然它听起来似乎会屏蔽潜在的错误,但实际上它将提高代码安全性,因为它将防止您对警告无动于衷。

@Override。
这是一系列内置的批注之一。@Override的意思是“方法必须替代其超类中的一个方法;
如果做不到这一点,那么就会有东西出错,使得编译器产生错误”。
没有@Override,代码照样会正常工作,但是假设有人修改BaseExample,让myMethod带有参数。
如果你没有使用@Override批注,代码仍然会被编译,隐藏了子类没有替代超类方法的问题。
如果有@Override的话,你会在编译期间看到发生错误。 

import java.lang.annotation.*;  
  @Retention(RetentionPolicy.RUNTIME) 
  @Target(ElementType.METHOD) 
  [email protected] FormLabel {String label(); 
  int width() default 40; 
  }
@Retention@Target
@Retention用来定义通过设置RetentionPolicy的值批注能够在构建-运行过程中存留多久。
这里我们使用了RUNTIME,这意味着我们定义的批注将会在运行期间被保留在代码里。
RetentionPolicy.SOURCE将被用于一个我们希望被编译器使用然后抛弃的批注。
RetentionPolicy.CLASS让它们保留在生成的类文件里,但是能够在运行期间被Java虚拟机(JVM)访问到。 
@Target
批注让你能够将它限制在代码的特定部分里。在本文里,我们把目标瞄准了ElementType.METHOD,这意味着它只能够与方法关联在一起。
其他ElementTypes有CONSTRUCTOR、FIELD、LOCAL_VARIABLE、PACKAGE、PARAMETER和TYPE,每个都能够把批注限制到该种类型的Java语言元素
 @Documented和@Inherited。
它们都可以被加到批注定义里。@Documented的作用是,批注的使用应该在所有生成的JavaDoc文档里都反映出来。
正如你可能看到的,批注和JavaDoc标记是互补的。@Inherited的意思是,当另外一个类用类来扩展批注时,批注应该是可继承的;
在默认情况下,批注是不能被继承的。 

详细——http://muchong.com/fanwen/442/60072.html

以上是关于J2SE 批注的主要内容,如果未能解决你的问题,请参考以下文章

@SuppressWarnings("resource")

@suppressWarnings("unchecked")在java中的作用

@SuppressWarnings是啥意思?

@SuppressWarnings("serial")注解

Java中@SuppressWarnings注解用法(转)

注解:@SuppressWarning()的用法