Java反射与泛型:深入解析与应用
1. 反射机制概述
反射是程序在运行时查询和修改其状态的能力。在Java中,类的字节码由 Class
类的对象表示,这为反射提供了便利。通过反射,我们可以访问类的字段、构造函数和方法,还能创建指定类型和维度的数组并操作其元素。
2. 方法调用与字段访问
2.1 方法调用示例
以下代码展示了如何通过反射调用 Person
类的 setName
方法:
System.out.println(p);
// Get the reference of teh setName() method
Method setName = personClass.getMethod("setName", String.class);
// Invoke the setName() method on p passing
// a new value for name as "Ann"
setName.invoke(p, "Ann");
System.out.println(p);
在这个示例中,我们首先获取了 setName
方法的引用,然后通过 invoke
方法调用该方法并传入新的名称值。
2.2 字段访问
要访问对象的字段,首先需要获取该字段的引用。对于可访问的字段(如公共字段),可以直接使用 getXxx()