一、注解基本了解和应用
1、何为注解?
注解就是一种标记,在程序中加了注解就等于加了标记,没加,就没有标记。
2、注解有何作用?
加了注解,java编译器、开发工具或是其他程序可以通过反射技术了解你的类或各种元素是否有标记,有什么标记就做什么
样的事情。比如:子类重写父类的方法,方法上必须有@override标记;若一个方法已过时不用了,就该方法添加注
解@Deprecated,调用者反射时就明白这方法已过时
3、注解在哪标记,也就是说能为哪些元素标记?
可以在包、类、字段、方法、局部变量
二、自定义注解及其应用
1、先定义个注解类,如下代码:
/** * 自定义注解类 * @author Administrator * */ public @interface AnimTest { } |
2、将这个注解类应用到某个类上,然后用反射查看判断该类是否被这个注解类所标记
package com.itcast.test; import com.itcast.zhujie.AnimTest; @AnimTest //这是自定义的注解 public class ZhujieTest { /** * @param args */ public static void main(String[] args) { boolean isAnim = ZhujieTest.class.isAnnotationPresent(AnimTest.class); if(isAnim) System.out.println("it has one"); else System.out.println("no have"); } } |
输出的结果是:no have ;表示该类没有找到注解标记,这是为何呢?不是在类上已经使用了注解了嘛?
回答这问题之前,我们先学习一个东西,Retention元注释类,指的是注释类型的注释要留多久。如果某个注释类型没有声明Retention元注释,则保留策略为默认的RetentionPolicy.CLASS,表示保留到编译时,运行时就会被剔除。