java 中 如何将“一个类的方法 ”作为参数传到“另一个类的方法”中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 中 如何将“一个类的方法 ”作为参数传到“另一个类的方法”中相关的知识,希望对你有一定的参考价值。

在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表达式会自动帮你处理这些事情

参考技术A 对象名.方法名()作为参数即可,该方法如果无返回值,则传入空值。不过,将方法直接作为参数传递这种用法很少的。O(∩_∩)O 参考技术B Java中不直接支持这个,C#里面有这个东西,叫做委托。 参考技术C 是否是在一个类中调用另一个类的方法?如果是的话,就可以通过 类名 X=NEW 类名() 通过X.方法就可调用了。 参考技术D 通常是传对象,而不是传方法。

在java中,将局部变量作为参数传递到另一个类的方法里,在此方法里改变参数值,局部变量会改变吗

要是基本类型,int,double这种不会改变,
要是类类型,有些字段可能会改的
参考技术A http://zhidao.baidu.com/question/88060584.html可以参考这个本回答被提问者采纳

以上是关于java 中 如何将“一个类的方法 ”作为参数传到“另一个类的方法”中的主要内容,如果未能解决你的问题,请参考以下文章

怎样将子线程中的参数传到主线程

如何实现js写的网页将参数传到服务器,然后服务器调用C++程序?

java将文本框中的数据怎么传到程序里

如何向Webservice里传递类参数

如何实现ABAP程序连续自动运行?

java中如何在前台jsp页面封装一个map并传到后台啊