java如何访问一个类的静态值,该类只有一个class类型的引用
考虑到A类:
public class A {
public static final CONSTANT = "i am a static final member";
}
并且具有引用A
类的Class
类型的变量:
Class c = A.class;
如何使用c
变量访问CONSTANT
,而不构建类A
的实例:
// all these will certainly not work
c.CONSTANT;
c.getStatic().CONSTANT;
# 1 楼答案
获取
CONSTANT
值的最简单方法是:从
Field.get
文档:# 2 楼答案
您可以使用java reflection在运行时获取此类信息。 例如,反射允许您检查属于任何类对象的任何字段
在您的情况下,该字段是public和static,因此下面的代码
会有用的
(getField()搜索公共字段;get()需要一个“对象”来处理;但对于静态场,参数无关紧要;所以它可以是空的)