我想做的是将函数作为参数发送到其他类的函数。 例如,我有UI的UI.java类和逻辑的Timer.java类。所以我想将逻辑类的功能传递给UI,这样一旦点击一个按钮,就会调用Timer.java中的函数。
我该怎么做?推荐吗?应用程序开发标准?
答案 0 :(得分:0)
使用functional interface,例如Runnable
和method 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
以找到您需要的那个。