java中注解的几大作用.docxVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
注解的作用:???????????? 1、生成文档。这是最常见的,也是java 最早提供的注解。常用的有@see @param @return 等???????????? 2、跟踪代码依赖性,实现替代配置文件功能。比较常见的是spring 2.5 开始的基于注解配置。作用就是减少配置。现在的框架基本都使用了这种配置来减少配置文件的数量。以后java的程序开发,最多的也将实现注解配置,具有很大用处;?????????????3、在编译时进行格式检查。如@override 放在方法前,如果你这个方法并不是覆盖了超类方法,则编译时就能检查出。?使用方法详解:????????? 下面是注解类,其实注解也就是一个类文件package annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import entity.PersonChiness;/***?* Retention:保持、保留?* RetentionPolicy:政策、方针?* @author huawei?*@Retention?*1、指示注释类型的注释要保留多久。如果注释类型声明中不存在 Retention 注释,则保留策略默认为 RetentionPolicy.CLASS?*2、有三种取值(代表三个阶段):?*?RetentionPolicy.SOURCE:保留注解到java源文件阶段,例如Override、SuppressWarnings?*?RetentionPolicy.CLASS:保留注解到class文件阶段,例如?*?RetentionPolicy.RUNTIME:保留注解到运行时阶段即内存中的字节码,例如Deprecated?*///元注解:表示的是注解的注解,(同义词有元信息、元数据)//如果不加,javac会把这无用的注解丢掉@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE,ElementType.METHOD})//指定该注解使用的用处:用在class上和用在方法体上。public @interface HelloAnnotation {?//返回值是String类型?String color() default 蓝色;//方法,但是相当于注解的属性,即:当成属性赋值,当成方法调用。?//默认value?String value();??String author() default 默认给定了属性;?//返回值是数组对象?int[] arrayAttr() default {1};?//返回值是注解类型?MetaAnnotation annotationAttr() default @MetaAnnotation();?//返回CLASS对象?ClassPersonChiness classType() default PersonChiness.class;}??下面是实现注解的测试类:package annotation;/***?* 注解类:?* 1、相当于一种标记,加上注解就等于为程序打上了某种标记,没加,则等于没加某种标记,?* 2、以后javac编译器、开发工具或其他应用程序可以通过反射来了解你的类,以及各种元素上有无何种标记,?* ??看你有什么标记,就去执行相应的命令和干相应的事。?* 3、标记用处地方:?* ??加在包、类、字段、方法、方法的参数、局部变量?* @author huawei?*?*///自定义注解@HelloAnnotation(color=红色,?????value=如果只有value属性!可以不写属性名和等于号,直接写值即可!,?????arrayAttr={1,2,3},?????annotationAttr=@MetaAnnotation(返回注解类型规范形式。))public class AnnotationTest {?@SuppressWarnings(deprecation)//阻止警告?@HelloAnnotation(当为value属性时,可以省掉属性名和等于号。)?public static void main(String[] args) throws Exception{??System.runFinalizersOnExit(true);????if(AnnotationTest.class.isAnnotationPresent(HelloA

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档