使用反射修改私有静态常量值(private static final)

import java.lang.reflect.*; 
 
public class EverythingIsTrue { 
   
static void setFinalStatic(Field field, Object newValue) throws Exception { 
      field
.setAccessible(true); 
 
     
Field modifiersField = Field.class.getDeclaredField("modifiers"); 
      modifiersField
.setAccessible(true); 
      modifiersField
.setInt(field, field.getModifiers() & ~Modifier.FINAL); 
 
      field
.set(null, newValue); 
   
} 
   
public static void main(String args[]) throws Exception {       
      setFinalStatic
(Boolean.class.getField("FALSE"), true); 
 
     
System.out.format("Everything is %s", false); // "Everything is true" 
   
} 
} 

更多详细:http://stackoverflow.com/questions/3301635/change-private-static-final-field-using-java-reflection

你可能感兴趣的:(使用反射修改私有静态常量值(private static final))