Java基础加强学习笔记(二)
一、反射的基础Class类
1、如何得到各个字节码对应的实例对象
(1)类名.class,例如 System.class
(2)对象.getClass(),例如 new Data().getClass()
(3)Class.forName("包.类名"),例如 Class.forName("java.util.Data") 查询或加载,即有了就用,没有就加载进来
2、九个预定义的Class实例对象
8个基本类型+1个void
二、反射1、定义:反射就是把java类中的各种成分映射成相应的java类。
2、构造方法的反射应用,class ->constructor -> object
(1)
@Retention(RetentionPolicy.RUNTIME)//元注解 ,三个阶段@Interface A{String color() default "red";Strng value();//value()属性很特殊int[] arr() default {1,2,2};}@A(color="red",value="set",arr={1,2,3})//设置,如果只有value属性需要设置时,可以把=号省略@A("setValue")class C{if(C.class.isAnnotationPresent(A.class)){A ann = (A)C.class.getAnnotation(A.class); sop(ann.color());//使用sop(ann.value());//使用sop()}}