小编典典

Java中的回调函数

all

有没有办法在 Java 方法中传递回调函数?

我试图模仿的行为是将.Net Delegate 传递给函数。

我见过有人建议创建一个单独的对象,但这似乎有点矫枉过正,但是我知道有时矫枉过正是做事的唯一方法。


阅读 63

收藏
2022-07-08

共1个答案

小编典典

如果您的意思是 .NET 匿名委托之类的东西,我认为 Java 的匿名类也可以使用。

public class Main {

    public interface Visitor{
        int doJob(int a, int b);
    }


    public static void main(String[] args) {
        Visitor adder = new Visitor(){
            public int doJob(int a, int b) {
                return a + b;
            }
        };

        Visitor multiplier = new Visitor(){
            public int doJob(int a, int b) {
                return a*b;
            }
        };

        System.out.println(adder.doJob(10, 20));
        System.out.println(multiplier.doJob(10, 20));

    }
}
2022-07-08