注解
分类:
-
JDK内置注解有:@Override、@SuppressWarning等
-
元注解:解释注解的注解。元注解有:@Target 表明注解作用与类的什么位置(类、属性、方法)
@Retention 表明注解的运行实际(运行时、编译时,默认编译期,比如@Oveerride)
注解的作用
编译检查、生成文档、运行时动态处理、编译时动态处理
反射
在程序运行期间动态创建对象,动态获取类的信息
反射应用场景
反射和自定义注解结合使用
各种框架大量使用了反射机制,比如Spring的@Component、@Value
注解相当于一个标识,注解的实现基于反射
public class Generic {
public static void main(String[] args) throws Exception {
// 利用反射获取对象
Class<A> aClass = A.class;
MyComponent myComponent = aClass.getDeclaredAnnotation(MyComponent.class);
System.out.println(myComponent);
if(myComponent != null){
// 创建对象
Constructor<A> constructor =