java 反射 代码示例
时间: 2023-11-12 08:57:21 浏览: 35
Java 反射可以在运行时动态地获取类的信息,包括类的属性、方法、构造函数等,并且可以在运行时调用这些属性、方法、构造函数等。下面是一个简单的 Java 反射示例:
```java
import java.lang.reflect.*;
public class ReflectionExample {
public static void main(String[] args) throws Exception {
// 获取类的 Class 对象
Class<?> clazz = Class.forName("java.lang.String");
// 获取类的所有构造函数
Constructor<?>[] constructors = clazz.getConstructors();
for (Constructor<?> constructor : constructors) {
System.out.println(constructor);
}
// 获取类的所有方法
Method[] methods = clazz.getMethods();
for (Method method : methods) {
System.out.println(method);
}
// 获取类的所有属性
Field[] fields = clazz.getFields();
for (Field field : fields) {
System.out.println(field);
}
}
}
```
在上面的示例中,我们使用 `Class.forName()` 方法获取了 `java.lang.String` 类的 Class 对象,然后使用 `getConstructors()`、`getMethods()` 和 `getFields()` 方法分别获取了该类的所有构造函数、方法和属性,并打印输出了它们的信息。