猿问

如何在Java中将函数作为参数传递?

如何在Java中将函数作为参数传递?

是否可以将方法作为参数传递给Java方法?如果是的话,有人能指点我吗?这看上去并不是小事一桩



呼啦一阵风
浏览 9071回答 3
3回答

开满天机

您可以使用Java反射来实现这一点。方法将被表示为java.lang.Reflt.Method.import java.lang.reflect.Method;public class Demo {     public static void main(String[] args) throws Exception{         Class[] parameterTypes = new Class[1];         parameterTypes[0] = String.class;         Method method1 = Demo.class.getMethod("method1", parameterTypes);         Demo demo = new Demo();         demo.method2(demo, method1, "Hello World");     }     public void method1(String message) {         System.out.println(message);     }     public void method2(Object object, Method method, String message) throws Exception {         Object[] parameters = new Object[1];         parameters[0] = message;         method.invoke(object, parameters);     }}
随时随地看视频慕课网APP

相关分类

Java
我要回答