Java反射机制的常见使用场景实例
Java反射机制是一种在运行时检查类、字段和方法的能力。它主要用于动态创建对象,获取或设置属性值,调用方法等场景。以下是一些常见的使用场景实例:
- 动态创建对象:
```java
// 获取类对象
Class<?> clazz = Class.forName(“com.example.MyClass”);
// 创建对象
Object obj = clazz.newInstance();
2. 检查或获取字段值:
```java
Field field = clazz.getDeclaredField("myField"); // 隐藏方法
// 设置访问权限,否则get方法将抛出NoSuchFieldException异常
field.setAccessible(true);
// 获取字段值
String fieldValue = (String) field.get(obj);
- 调用或设置方法:
```java
Method method = clazz.getDeclaredMethod(“myMethod”, String.class)); // 隐藏方法
// 设置访问权限,否则get方法将抛出NoSuchMethodException异常
method.setAccessible(true);
// 调用方法并传入参数
String result = (String) method.invoke(obj, “Hello, World!”));
// 或者设置方法值
method.invoke(obj, null); // 假设方法接受null参数
```
以上就是Java反射机制在常见使用场景中的实例。
还没有评论,来说两句吧...