要通过反射获取静态变量,可以使用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 = https://www.yisu.com/ask/(int) field.get(null);"静态变量的值为:" + value); } catch (NoSuchFieldException | IllegalAccessException e) { e.printStackTrace(); } } }
在上面的代码中,首先通过Main.class.getDeclaredField("staticVar")
获取到静态变量staticVar
的Field
对象,然后通过field.get(null)
方法获取静态变量的值。需要注意的是,由于静态变量属于类而不是对象,所以在调用get()
方法时传入null
作为参数。