public Class A
{
private int x;
public A()
{
x=0;
}
public void add(int y)
{
x += y;
}
}
static void main(String args[])
{
A obj = new A();
/** First Way **/
try
{
Class cls = Class.forName("A");
Field fld = cls.getDeclaredField("x");
fld.setAccessible(true);
Object value = fld.get(obj);
fld.set(obj,(Integer)value+1);
}
catch(Throwable e)
{
System.err.prinln(e);
}
/** Second way **/
Method m = cls.getDeclaredMethod("add",Integer.TYPE);
m.invoke(A,1);
}