Příklad

public GetDeclaredField_Example() {
super();
}

public void setValue( int value ) {
this .value = value;
}

public int getValue() {
return value;
}

private int value;

public static void main(String[] args){
try {
Field field = GetDeclaredField_Example.class.getDeclaredField( "hodnota" ); //$NON-NLS-1$
GetDeclaredField_Example obj = new GetDeclaredField_Example();
field.set( obj, new Integer( 1 ) );
System.out.println( obj.getValue() );
} catch (SecurityException e) {
System.out.println( "Nelze přistupovat k poli 'value'" ); //$NON-NLS-1$
} catch (NoSuchFieldException e) {
System.out.println( "Pole 'value' neexistuje" ); //$NON-NLS-1$
} catch (IllegalArgumentException e) {
System.out.println( e.getMessage() );
} catch (IllegalAccessException e) {
System.out.println( "Nelze přistupovat k poli 'value' typu private" ); //$NON-NLS-1$
}
}

Řešení
Použijte přímý přístup k poli namísto metody getDeclaredField() s pevně zakódovaným názvem pole.

public GetDeclaredField_Solution() {
super();
}

public void setValue( int value ) {
this .value = value;
}

public int getValue() {
return value;
}

private int value;

public static void main(String[] args){
GetDeclaredField_Example obj = new GetDeclaredField_Example();
obj.setValue( 1 );
System.out.println( obj.getValue() );
}