一个java工具类 作为另一个类的方法参数 要得到返回值 200
1个回答
展开全部
在java中这是没有办法做到的,因为java不是函数式编程语言,不过可以通过传递一个接口来实现。下面解说java如何模拟:先定义一个接口:
<pre t="code" l="java">interface MethodInterface{
//这个方法假如就是你想要传递的方法
public String test(String s);
}一个类中的方法的参数就是这个接口:<pre t="code" l="java">class TestMethod{
//java中很麻烦的,不过下面这样是可以达到目的得
public void test(MethodInterface methodInterface){
System.out.println(methodInterface.test("test"));
}
}因为这个接口是你定义的,所以你知道这个接口里面一定有一个叫test的方法<pre t="code" l="java">class Method implements MethodInterface{
public String test(String s) {
return s;
}
}<pre t="code" l="java">public class Test {
public static void main(String[] args) {
new TestMethod().test(new Method());
}
}在jdk8中是不需要这么复杂的,但是原理还是一样的,只不过jdk8中的lambda表达式会自动帮你处理这些事情
<pre t="code" l="java">interface MethodInterface{
//这个方法假如就是你想要传递的方法
public String test(String s);
}一个类中的方法的参数就是这个接口:<pre t="code" l="java">class TestMethod{
//java中很麻烦的,不过下面这样是可以达到目的得
public void test(MethodInterface methodInterface){
System.out.println(methodInterface.test("test"));
}
}因为这个接口是你定义的,所以你知道这个接口里面一定有一个叫test的方法<pre t="code" l="java">class Method implements MethodInterface{
public String test(String s) {
return s;
}
}<pre t="code" l="java">public class Test {
public static void main(String[] args) {
new TestMethod().test(new Method());
}
}在jdk8中是不需要这么复杂的,但是原理还是一样的,只不过jdk8中的lambda表达式会自动帮你处理这些事情
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询