Ch10_Reflection

4/21/2020 Java

# Reflection

每个类在JRE中都为其保留一个不变的class对象

Class本身也是一个类

Class类只能由系统建立对象

一个类在JVM中只会有一个class实例,对应一个class文件

每个类都会记得自己由哪个class对象创建而成

通过class可以得到一个类的完整结构

Class类的常用创建方法:

image-20230426223122755

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

image-20230426223141481

image-20230426223200816

image-20230426223209117

利用反射机制创建对象

使用反射机制获取与调用方法:当一个方法有泛型参数时,编译器会自动上转型

T的上转型为Object

在 Java 反射中,一个 Method 执行时遭遇的异常会被包装在一个特定的异常中,这个异常就是 InvocationTargetException。需要手动获取异常具体信息,如下代码

catch (InvocationTargetException e) {
    Throwable cause = e.getCause();
    System.out.println(cause.toString());

}
1
2
3
4
5

image-20230426223716183

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

image-20230426223727101

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

image-20230426223750835

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

Last Updated: 11/19/2024, 1:54:38 PM