有没有办法在 Java 方法中传递回调函数?
我试图模仿的行为是将.Net Delegate 传递给函数。
我见过有人建议创建一个单独的对象,但这似乎有点矫枉过正,但是我知道有时矫枉过正是做事的唯一方法。
如果您的意思是 .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)); } }