Exemple

public GetDeclaredMethod_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 {
Method method = GetDeclaredMethod_Example.class.getDeclaredMethod( "getValue", new Class[] { Void.class } ); //$NON-NLS-1$
GetDeclaredMethod_Example obj = new GetDeclaredMethod_Example();
method.invoke( obj, new Object[] { new Integer( 1 ) } );
System.out.println( obj.getValue() );
} catch (IllegalAccessException e) {
System.out.println( "Impossible d'accéder à la méthode privée 'getValue'" ); //$NON-NLS-1$
} catch (InvocationTargetException e) {
System.out.println( "Incident lors de l'appel de la méthode" ); //$NON-NLS-1$
} catch (NoSuchMethodException e) {
System.out.println( "Pas de méthode getValue" ); //$NON-NLS-1$
}

}

Solution
Utilisez un accès direct à la méthode au lieu d'un getDeclaredMethod() avec le nom codé en dur de la méthode.

public GetDeclaredMethod_Solution() {
super();
}

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

public int getValue() {
return value;
}

private int value;

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