当前位置: 网学 > 编程文档 > JAVA > 正文

JAVA元数据注释初探

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
p;

  /* 

  * GetAnno.java 

  * 

  * Created on 2006年12月7日, 下午3:46 

  * 

  * To change this template, choose Tools   Template Manager 

  * and open the template in the editor. 

  */ 

  package testAnno; 

  /** 

  * 

  * @author lbf 

  */ 

  import java.lang.annotation.*; 

  import java.lang.reflect.*; 

  public class GetAnno { 

  /** Creates a new instance of GetAnno */ 

  public GetAnno() { 

  } 

  public static void main(String args)throws Exception { 

  Test1 t=new Test1(); 

  Class c=Test1.class ; 

  Annotation as= c.getDeclaredAnnotations(); 

  for(Annotation an:as){ 

  System.out.println("类Test1的注释"+an); 

  } 

  Method med=c.getDeclaredMethod("doSth"); 

  Annotation ass=med.getDeclaredAnnotations(); 

  for(Annotation an:ass){ 

  Class<!--/sp-->extends Annotation> clazz=an.annotationType(); 

  Annotation ased=clazz.getAnnotations(); 

  for(Annotation ad:ased){ 

  System.out.println("注释的注释:"+ad); 

  } 

  System.out.println("方法doSth的注释:"+an); 

  } 

  } 

  } 

  此程序输出如下 

  类Test1的注释@testAnno.MyType(bugFixes=ok, authorName=hadeslee, lastModified=20061207) 

  注释的注释:@java.lang.annotation.Documented() 

  注释的注释:@java.lang.annotation.Retention(value=RUNTIME) 

  方法doSth的注释:@java.lang.Deprecated() 

  注释的注释:@java.lang.annotation.Retention(value=RUNTIME) 

  注释的注释:@java.lang.annotation.Target(value=[TYPE, METHOD]) 

  方法doSth的注释:@testAnno.MyType(bugFixes=what, authorName=hadeslee, lastModified=20061207) 

  从这代码里,我们可以看出,取注释其实很简单,就是利用反射机制来取的.不过我们要特别注意到的一点是,我们不但可以取我们定义的类的注释,也可以取注释的注释,我们这里只取到了MyType的注释,其实还可以往下取,在取的过程中,我们可以看到这些元数据注释类都用了哪些注释。

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号