Java反射机制及常见使用场景
Java反射机制是指在运行时,通过对象获取其内部信息(如字段、方法等)并进行操作的技术。
常见使用场景包括:
- 动态创建对象:根据已有的类信息,在运行时动态生成对象。
Class<?> clazz = Class.forName("com.example.MyClass");
Object obj = clazz.newInstance();
- 获取和修改属性值:反射可以获取到任意对象的字段值,并进行修改。
Person person = new Person();
// 通过反射获取或修改字段值
ReflectionField reflectionField = ReflectionFactory.getReflectionField(person.getClass(), "name"));
String newName = "newName";
// 修改字段值
reflectionField.set(person, newName));
- 调用方法:反射可以动态调用任意对象的方法。
person = new Person();
// 通过反射调用方法
ReflectionMethod reflectionMethod = ReflectionFactory.getReflectionMethod(person.getClass(), "sayHello"));
String message = "Hello!";
// 调用方法,传递参数
reflectionMethod.invoke(person, message));
以上就是Java反射机制以及其常见使用场景的概述。
还没有评论,来说两句吧...