快速业务通道

Java Annotation入门 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
          passed++;          } catch (Throwable ex) {           System.out.printf("Test %s failed: %s %n", m, ex.getCause());           failed++;          }        }       }       System.out.printf("Passed: %d, Failed %d%n", passed, failed);     }    }

Java Annotation入门(4)

时间:2011-05-20 blogjava cleverpig

这个程序从命令行参数中取出类名,并且遍历此类的所有方法,尝试调用其中 被上面的测试annotation类型标注过的方法。在此过程中为了找出哪些方法被 annotation类型标注过,需要使用反射的方式执行此查询。如果在调用方法时抛 出异常,此方法被认为已经失败,并打印一个失败报告。最后,打印运行通过/失 败的方法数量。

下面文字表示了如何运行这个基于annotation的测试工具:

清单9:

$ java RunTests Foo    Test public static void Foo.m3() failed: java.lang.RuntimeException: Boom    Test public static void Foo.m7() failed: java.lang.RuntimeException: Crash    Passed: 2, Failed 2

四、Annotation分类:

根据annotation的使用方法和用途主要分为以下几类:

1。内建Annotation——Java5.0版在java语法中经常用到的内建Annotation:

@Deprecated用于修饰已经过时的方法;

@Override用于修饰此方法覆盖了父类的方法(而非重载);

@SuppressWarnings用于通知java编译器禁止特定的编译警告。

下面代码展示了内建Annotation类型的用法:

清单10:

package com.bjinfotech.practice.annotation; /** * 演示如何使用java5内建的annotation * 参考资料: * http://java.sun.com/docs/books/tutorial/java/javaOO/annotations.html * http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html * http://mindprod.com/jgloss/annotations.html * @author cleverpig * */ import java.util.List; public class UsingBuiltInAnnotation {      //食物类      class Food{} //干草类      class Hay extends Food{}      //动物类      class Animal{          Food getFood(){              return null;          }          //使用Annotation声明Deprecated方法          @Deprecated          void deprecatedMethod(){          }      }      //马类-继承动物类      class Horse extends Animal{          //使用Annotation声明覆盖方法          @Override          Hay getFood(){              return new Hay();          }          //使用Annotation声明禁止警告          @SuppressWarnings({"deprecation","unchecked"})          void callDeprecatedMethod(List horseGroup){              Animal an=new Animal();              an.deprecatedMethod();              horseGroup.add(an);          }      } }

Java Annotation入门(5)

时间:2011-05-20 blogjava cleverpig

2。开发者自定义Annotation:由开发者自定义Annotation类型。

下面是一个使用annotation进行方法测试的sample:

AnnotationDefineForTestFunction类型定义如下:

清单11:

package com.bjinfotech.practice.annotation; import java.lang.annotation.*; /** * 定义annotation * @author cleverpig * */ /

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号