如何在Java中发送函数调用其他类?

时间:2018-02-21 09:43:33

标签: java

我想做的是将函数作为参数发送到其他类的函数。 例如,我有UI的UI.java类和逻辑的Timer.java类。所以我想将逻辑类的功能传递给UI,这样一旦点击一个按钮,就会调用Timer.java中的函数。

我该怎么做?推荐吗?应用程序开发标准?

1 个答案:

答案 0 :(得分:0)

使用functional interface,例如Runnablemethod reference

class Bar
{
    public void doSomething() { /* ... */ }
}

class Foo
{
    private Runnable runnable;

    Foo(Runnable runnable)
    {
        this.runnable = runnable;
    }

    public void onCompletion()
    {
        this.runnable.run();
    }
}

Bar bar = new Bar();
Foo foo = new Foo(bar::doSomething);
foo.onCompletion();

您需要的确切功能界面取决于您的使用案例。请查看the package java.util.function以找到您需要的那个。