A mi me funciona, con el unico cambio de que en vez de cargaClaseClassPath uso Class.forName ya que la clase Lector no la tengo.
Cita: Class claseCargada = Class.forName("test.Mms");
Class clasePhoto = Class.forName("test.Photo");
Object objetoCls = claseCargada.newInstance();
Object objetoPhoto = clasePhoto.newInstance();
Class cArgsSendMessage[] = new Class[]{clasePhoto};
Object objPhotoArray[] = new Object[]{objetoPhoto};
Method mtd1 = claseCargada.getMethod("sendMessage", cArgsSendMessage);
System.err.println("mtd1: " + mtd1.getName());
mtd1.invoke(objetoCls, objPhotoArray);
Me devuelve:
Cita: mtd1: sendMessage
sendMessage invoked