2009-07-11 15 views

Respuesta

3

En una conjetura, diría que esto se hace mediante la reflexión sobre el tipo de destino y el establecimiento de los campos directamente a través de la reflexión

No soy un programador de Java, pero creo que Java tiene soporte reflexión parecida a la de .NET que uso

4

Trate

import java.lang.reflect.Field; 

class Test { 
    private final int value; 
    Test(int value) { this.value = value; } 
    public String toString() { return "" + value; } 
} 

public class Main { 
    public static void main(String... args) throws NoSuchFieldException, IllegalAccessException { 
     Test test = new Test(12345); 
     System.out.println("test= "+test); 

     Field value = Test.class.getDeclaredField("value"); 
     value.setAccessible(true); 
     System.out.println("test.value= "+value.get(test)); 
     value.set(test, 99999); 
     System.out.println("test= "+test); 
     System.out.println("test.value= "+value.get(test)); 
    } 
} 

impresiones

test= 12345 
test.value= 12345 
test= 99999 
test.value= 99999 
Cuestiones relacionadas