示例如下:
String methodName
Method method = oneProtein.class.getMethod(methodName)
for (oneProtein e:Cell)
method.invoke(e)
方法return就好了示列
public static void main(String[] r){
params(returnResult(1))
//打印结果1
}
private void params(int i){
System.out.println(i)
}
private int returnResult(int i){
return i
}
在java中这是没有办法做到的,因为java不是函数式编程语言,不过可以通过传递一个接口来实现。
下面解说java如何模拟:
先定义一个接口:
interface MethodInterface{//这个方法假如就是你想要传递的方法
public String test(String s)
}
一个类中的方法的参数就是这个接口:
class TestMethod{//java中很麻烦的,不过下面这样是可以达到目的得
public void test(MethodInterface methodInterface){
System.out.println(methodInterface.test("test"))
}
}
因为这个接口是你定义的,所以你知道这个接口里面一定有一个叫test的方法
class Method implements MethodInterface{public String test(String s) {
return s
}
} public class Test {
public static void main(String[] args) {
new TestMethod().test(new Method())
}
}
在jdk8中是不需要这么复杂的,但是原理还是一样的,只不过jdk8中的lambda表达式会自动帮你处理这些事情