反射
反射就是解析类,通过字节码对象产生实例对象的过程(动态加载的过程—发生运行时期)
class | 代表类的类 |
---|---|
Method | 代表方法的类 |
Field | 代表属性的类 |
Constructor | 代表构造方法的类 |
Package | 代表包的类 |
Annotation | 代表注解的类 |
获取字节码对象
a.通过类名.class
//1.通过类名.class获取字节码对象
Class<String> clz1=String.class;
//获取接口的字节码对象
Class<List> clz2=List.class;
//获取数组的字节码对象
Class<int[]> clz3=int[].class;
//获取是整型的字节码对象
Class clz4=int.class;
b.通过对象.getClass
String str="abc";
Class<String> clz=(Class<String>) str.getClass();
c.Class.forName通过字符串获取字节码对象
//提供的字符串就是全路径名
Class<String> clz=(Class<String>)
Class.forName("java.lang.String");