JAVA 反射机制代码示例
时间: 2024-07-08 07:00:22 浏览: 137
java反射机制.pdf
Java 反射机制是一种强大的工具,它允许程序在运行时动态地获取和操作类的信息、字段、方法等。以下是一个简单的Java反射代码示例:
```java
import java.lang.reflect.*;
public class ReflectionExample {
public static void main(String[] args) {
// 获取Class对象,这里以String类为例
Class<?> stringClass = String.class;
// 使用getName()方法获取类名
System.out.println("Class name: " + stringClass.getName());
// 获取类的所有公共构造器
Constructor<?>[] constructors = stringClass.getConstructors();
for (Constructor<?> constructor : constructors) {
System.out.println("Constructor: " + constructor);
}
// 获取类的所有公共方法
Method[] methods = stringClass.getMethods();
for (Method method : methods) {
System.out.println("Method: " + method.getName());
}
// 获取类的公共字段
Field[] fields = stringClass.getFields();
for (Field field : fields) {
System.out.println("Field: " + field.getName());
}
// 动态创建对象(假设有一个无参构造器)
try {
Object obj = stringClass.newInstance();
System.out.println("Created object: " + obj);
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
}
}
```
在这个例子中,我们首先获取了`String`类的`Class`对象,然后分别获取了它的构造器、方法和字段信息。注意,`newInstance()`方法用于根据反射创建对象,但这里假设`String`类有一个默认的无参构造器。
阅读全文