如果对该类的唯一可用访问是.class
,是否可以访问类中的公共变量?
举个例子,如果我有两个ClassA
和ClassB
A_VARIABLE
,如果我把参考每班Object
到HashSet的,我能够检索A_VARIABLE
在HashSet的每个项目。通过`.class`的使用检索类变量
public class ClassA{
public static final String A_VARIABLE = "ABC";
}
public class ClassB{
public static final String A_VARIABLE = "123";
}
public class ClassC{
private void someMethod(){
HashSet<Class> someClassHashSet = new HashSet<>();
someClassHashSet.add(ClassA.class);
someClassHashSet.add(ClassB.class);
for (Class someClass : someClassHashSet){
System.out.println("The value is: " + /*someClass.A_VARIABLE*/);
}
}
}
,我想打印:
The Value is: ABC
The Value is: 123
'ClassA.A_VARIABLE'(这是一个恒定的场)和类应该做的伎俩 – 2015-10-19 05:48:36
@RC的'equals'不会这意味着他需要施放他的Class对象...? – schneida
@schneida nope,见拉胡尔答案 – 2015-10-19 07:28:16