1.注解的作用或者意义是什么?
注解单独是没有意义的,搭配一些特定场景,它的意义才会体现出来。单独的注解就是一种注释,他需要结合其他如反射、插桩等技术才有意义。
2.注解的例子
@Target(ElementType.TYPE)
@Relention(RetentionPolicy.SOURCE)
public @interface Test{
//元素
String value();
}
3.注解的定义
使用@interface,就可以定义一个注解
4.注解的应用场景
源码级别的应用场景是APT,在编译期能够获取注解与注解声明的类包含类中的所有成员信息,一般用于生成额外的辅助类。
字节码级别的应用场景是字节码增强,在编译出Class后,通过修改Class数据以实现修改代码逻辑目的,对于是都需要修改的区分或者修改为不同逻辑的判断可以使用注解。
运行时级别的应用场景是反射,在程序运行期间,通过反射技术动态获取注解与其元素,从而完成不同的逻辑判断。
5.反射
案例:注解与反射,自动完成findViewById