[分享]Java常用的三个Annotation_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3915 | 回复: 0   主题: [分享]Java常用的三个Annotation        下一篇 
yi.liao
注册用户
等级:少校
经验:917
发帖:52
精华:4
注册:2013-1-31
状态:离线
发送短消息息给yi.liao 加好友    发送短消息息给yi.liao 发消息
发表于: IP:您无权察看 2013-2-18 14:35:32 | [全部帖] [楼主帖] 楼主

Annotation其实是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用annotation,程序开发人员可以在不改变原有逻辑的情况下,在源文件嵌入一些补充的信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。 
annotation提供可一条为程序元素设置元数据的方法,从某种方面来看,annotation就像修饰一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量。 
annotation必须使用工具来处理,工具负责提取annotation里包含的元数据,工具还会根据这些元数据增加额外的功能。java提供的三个基本annotation的用法;使用annotation时要在其前面增加@符号,并把该annotation当成一个修饰使用,用于修饰它支持的程序元素。 
三个基本的annotation如下: 

1.@Override 
2.@Deprecated 
3.@suppressWamings 

1.限定重写父类方法 @Override
因为@Override的作用是告诉编译器检查这个方法,并从父类查找是否包含一个被该方法重写的方法,否则就编译出错。这个annotation主要是帮助我们避免一些低级错误。 
@Override只能用于作用于方法,不能用于作用于其他程序元素。

2.标识已过时 @Deprecated
@Deprecated用于表示某个程序元素(类、方法等)已过时,当其他程序使用已过时的类、方法时,编译器就会给出警告

3.抑制编译器警告:@suppressWamings
@suppressWamings指示被annotation标识的程序元素(以及在该程序元素中的所有子元素)取消显示指定的编译器警告。@suppressWamings会一直作用于该程序元素的所有子元素,例如使用@suppressWamings标识一个类来取消显示某个编译器警告,同时又标识该类里某个方法取消显示另一个编译器的警告,那么将在此方法中同时取消显示两个编译器警告。 
通常情况下,如果程序中没有泛型限制的集合将会引起编译器警告,为了避免这种编译器��告,可以使用 

Java代码  北京联动北方科技有限公司北京联动北方科技有限公司北京联动北方科技有限公司


  1. import java.util.ArrayList;
  2. import java.util.List;
  3. @SuppressWarnings(value="unchecked")
  4. publicclass SuppressWamingsTest {
  5.       
  6.       publicstaticvoid main(String[] args) {
  7.             List list = new ArrayList();
  8.       }
  9. }

[java]view plaincopy

  1. import java.util.ArrayList; 
  2. import java.util.List; 
  3. @SuppressWarnings(value="unchecked") 
  4. publicclass SuppressWamingsTest { 
  5.       
  6.       publicstaticvoid main(String[] args) { 
  7.              List list = new ArrayList(); 
  8.        } 



程序中粗体字代码使用@suppressWamings来关闭SuppressWamingsTest里的所有编译器警告,编译上面程序时将不会看到任何编译器警告。如果删除程序中粗体字代码,将会在程序中看到编译器警告.

该贴被yi.liao编辑于2013-2-18 14:35:54




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论