JAVA注解技术详解.ppt

上传人:sccc 文档编号:5577248 上传时间:2023-07-30 格式:PPT 页数:11 大小:121.51KB
返回 下载 相关 举报
JAVA注解技术详解.ppt_第1页
第1页 / 共11页
JAVA注解技术详解.ppt_第2页
第2页 / 共11页
JAVA注解技术详解.ppt_第3页
第3页 / 共11页
JAVA注解技术详解.ppt_第4页
第4页 / 共11页
JAVA注解技术详解.ppt_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《JAVA注解技术详解.ppt》由会员分享,可在线阅读,更多相关《JAVA注解技术详解.ppt(11页珍藏版)》请在三一办公上搜索。

1、,Annotation Exploration,Java 5新特性注解 概览,Jet 2007.08.30,Annotation in JDK 5.0将元数据(metadata)引入Java,元数据是描述数据的数据Javadoc、XDoclet都是元数据工具元数据的用处文档编制、编译器检查和代码分析,标准Annotation类型,Override表示一个方法声明打算重写父类中的另一个方法声明 b.SuppressWarnings指示应该在注解元素中取消显示指定的编译器警告 c.Deprecated不鼓励程序员使用这样的元素,因为很危险或存在更好的选择,标准Annotation类型,代码示例Ov

2、erridepublic String totring()/some code编译时会提示错误,因为此方法并没有重写父类里的toString()方法。Deprecatedpublic String getString()/some code当其他类试图调用或重写此方法时,编译器会发出警告SuppressWarnings(“unchecked”)public void add()List temp=new ArrayList();temp.add(annotation test!);当其他类试图调用或重写此方法时,编译器会发出警告,自定义Annotation,Public interface T

3、estAnnotationint id();String description()default“nothing”;String reason();使用时:1.在所有修饰符前声明;2.如果含有成员,声明时必须初始化;3.允许使用默认值;4.只有单个成员变量时,最好叫做value(),这样可以使用简化的初始声明。,自定义Annotation,对注解的注解:1.Target,从枚举类ElementType里取一个或多个值,指明此注解可以应用的程序元素。2.Retention,保持性,从枚举类RetentionPolicy里取唯一值指明编译器处理此注解的方式。3.Documented,注解应出现在

4、javadoc里;RetentionPolicy.RUNTIME的注解才能使用。4.Inherited,表示此注解的方法期望把父类的注解也继承下来。慎用。,自定义Annotation,DocumentedInheritedTarget(value=ElementType.FIELD,ElementType.METHOD)Retention(RetentionPolicy.RUNTIME)Public interface AdvancedAnnotation/some members declared here.,Annotation与反射,JDK 5.0反射API增加了读取运行时annotat

5、ion的能力isAnnotationPresent(Class annotationClass)getAnnotation(Class annotationClass)getAnnotations()getDeclaredAnnotations()省去由继承获得的annotationgetParameterAnnotations()没试过,Annotation与反射,利用反射机制我们可以对annotation进行灵活的处理1.获得不同的Annotation2.获得Annotation的成员变量见示例代码,apt:sun提供的annotation processing tools,专门处理annotation的javac,据说jdk 6.0已经将其加入javac一般需要自己定义annotation处理接口apt factory ourProcessorFactory$dir/*.java尚未深入研究过,THE END,THANKS ALL,By Jet 2007.08.30,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号