2009-07-11 7 views

Antwort

3

Bei einer Vermutung würde ich sagen, dass dies durch die Reflexion über den Zieltyp und Einstellung der Felder direkt mit Reflexion

Ich bin kein Java-Programmierer getan, aber ich glaube, Java-ähnliche Reflexion Unterstützung hat zu dem von .NET, die ich verwende

4

Versuchen

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)); 
    } 
} 

druckt

test= 12345 
test.value= 12345 
test= 99999 
test.value= 99999 
Verwandte Themen