public class MyClass
{
public static final String xx="vrwefvew";
public static void main(String args[])
{
try {
Class c=MyClass.class;
Field f=c.getDeclaredField("xx");
System.out.println(f.get(null));
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
测试通过,有什么问题吗
{
public static final String xx="vrwefvew";
public static void main(String args[])
{
try {
Class c=MyClass.class;
Field f=c.getDeclaredField("xx");
System.out.println(f.get(null));
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
测试通过,有什么问题吗
就会throws java.lang.IllegalAccessException
如:
class MyClass1{
private static final String xx="hello";
}
就不能
Class c=MyClass1.class;
Field f=c.getDeclaredField("xx");
System.out.println(f.get(null));
Field f=c.getDeclaredField("xx");
f.setAccessible(true);
System.out.println(f.get(null));这样的话就行了