Ch10_Reflection
Yang Haoran 4/21/2020 Java
# Reflection
每个类在JRE中都为其保留一个不变的class对象
Class本身也是一个类
Class类只能由系统建立对象
一个类在JVM中只会有一个class实例,对应一个class文件
每个类都会记得自己由哪个class对象创建而成
通过class可以得到一个类的完整结构
Class类的常用创建方法:

利用class类来获得类的各种信息:



利用反射机制创建对象
使用反射机制获取与调用方法:当一个方法有泛型参数时,编译器会自动上转型
T的上转型为Object
在 Java 反射中,一个 Method 执行时遭遇的异常会被包装在一个特定的异常中,这个异常就是 InvocationTargetException。需要手动获取异常具体信息,如下代码
catch (InvocationTargetException e) {
Throwable cause = e.getCause();
System.out.println(cause.toString());
}
1
2
3
4
5
2
3
4
5

使用反射机制获以及使用取field(成员变量)

反射中会出现的异常情况:

更多详细内容参考https://blog.csdn.net/briblue/article/details/76223206