Usa la reflection:

codice:
package test;

import java.lang.reflect.*;


public class Main
{
   public static void main(String[] args)
   {
      try
      {         
         Class cl = Class.forName("test.Test");
         Class argT[] = new Class[2];
         argT[0] = Integer.TYPE;
         argT[1] = String.class;
         
         Method method = cl.getMethod("print", argT);
         
         Object argL[] = new Object[2];
         argL[0] = new Integer(10);
         argL[1] = new String("ciao");
         
         Object retv = method.invoke(method, argL);
         Boolean b = (Boolean)retv;
         
         System.out.println(b);         
      }
      catch (Throwable ex)
      {
         ex.printStackTrace();
      }
   }
}

class Test
{
   public static boolean print(int i, String j)
   {
      System.out.println(i + " : " + j);
      return true;
   }
}
Ovviamente cosa usare e come usarlo lo decidi tu.
Ad esempio se hai una stringa come questa

codice:
String x = "print(10, 'ciao')";
devi semplicemente fare il suo parsing e costruire l'invocazione del metodo come hai visto su