public class ReflectionTest {
private int accessMe;
public ReflectionTest(){
accessMe = 0;
}
public int getAccessMe(){
return accessMe;
}
public static void main(String[] args) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
ReflectionTest testClass = new ReflectionTest();
System.out.println("Wert vor Injection: " + testClass.getAccessMe());
//Classe holen
Class reflectionClass = testClass.getClass();
//Feld holen
//Alternativ alle felder per getDeclaredFields
Field reflectionField = reflectionClass.getDeclaredField("accessMe");
//sorgt dafür, dass das von außen ansprechbar ist.
reflectionField.setAccessible(true);
//setze für die instanz testClass den Wert des feldes:
reflectionField.set(testClass, 1);
System.out.println("Wert nach Injection: " + testClass.getAccessMe());
}
}