码迷,mamicode.com
首页 > 其他好文 > 详细

J2SE 批注

时间:2017-01-17 15:00:48      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:cal   res   ati   不能被继承   public   ota   子类   warning   use   

@SuppressWarnings(unused)

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

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

import java.lang.annotation.*;  
  @Retention(RetentionPolicy.RUNTIME) 
  @Target(ElementType.METHOD) 
  public@interface 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 批注

标签:cal   res   ati   不能被继承   public   ota   子类   warning   use   

原文地址:http://www.cnblogs.com/Clyde-L/p/6293113.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!