在Java编程中,注解已经越来越普及了,在未来也占据重要的地位;其中是慢大多流行的框架Spring、Mybits、Dubbo等等也随处可见注解的存在。注解是一种特殊的标识,类似于特殊的字符,其原理就是通过反射去获取注解元素,然后再做相应处理。下面将详细介绍一下注解的说明与使用自定义注解。
目前Java注解,可分为标准注解、元注解两部分;标准注解有三个:@Override、@Deprecated、@suppressWarnings;元注解有四个:@Target、@Retention、@Documented、@Inherited
@Override 是标识是否覆盖父类方法,避免程序员编码出错
@Deprecated 是一个标记注解。所谓标记注解,就是在源程序中加入这个标记后,并不影响程序的编译,但有时编译器会显示一些警告信息。@Deprecated 是表示不建议使用这个类成员。因为这个类成员在未来的JDK版本中可能被删除或者不再维护不完整的版本代码。之所以在现在还保留,是因为给那些已经使用了这些类成员的程序一个缓冲期。如果现在就去了,那么这些程序就无法正常运行了。
@suppressWarnings 其目的是压制编译器产生的一些警告信息,并不影响程序运行。
元注解:
元注解自定义注解:
自定义注解主要分为三步:自定义注解名称、使用注解、注解解析
自定义注解名称MyAnnotations,如下
自定义注解MyAnnotations上面例子中@Documented是为了将该注解注释添加到doc文档中,RetentionPolicy.RUNTIME作用周期是在JVM中存在,@Target({ElementType.METHOD})则是让该可作用的目的地,此处是作用于方法;若是作用于非方法上,则编译器会报错并提示错误信息。
使用注解:
使用注解注解解析:注解解析主要是采用了反射来进行相应处理;如下
运行、注解解析运行结果:
输出结果通过上述内容,可以总结出注解的作用如下:
1、格式检查:告诉编译器信息,比如被@Override标记的方法如果不是父类的某个方法,IDE会报错;
2、减少配置:运行时动态处理,得到注解信息,实现代替配置文件的功能;
3、减少重复工作:比如第三方框架JUnit,通过注解@After、@before减少对重复的调用,类似的还有(Mybits、Spring等);
网友评论