要通过反射获取静态变量,可以使用Field类的get()方法。下面是一个示例代码:
import java.lang.reflect.Field;
public class Main {
public static int staticVar = 100;
public static void main(String[] args) {
try {
Field field = Main.class.getDeclaredField("staticVar");
int value = (int) field.get(null);
System.out.println("静态变量的值为:" + value);
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
}
}
在上面的代码中,首先通过Main.class.getDeclaredField("staticVar")获取到静态变量staticVar的Field对象,然后通过field.get(null)方法获取静态变量的值。需要注意的是,由于静态变量属于类而不是对象,所以在调用get()方法时传入null作为参数。