欢迎访问宙启技术站
智能推送

Java 中如何传递函数作为参数?

发布时间:2023-07-07 06:36:09

在Java中,函数是以方法的形式存在的。Java不支持直接传递函数作为参数,但可以通过接口和匿名内部类实现相似的功能。

1. 使用接口:

定义一个接口,接口中定义需要传递的函数。然后,创建一个接口的实现类,实现接口中定义的函数。最后,在需要传递函数作为参数的方法中,将实现接口的对象作为参数传递进去。

例子:

interface MyFunction {
    void execute();
}

class MyFunctionImpl implements MyFunction {
    public void execute() {
        System.out.println("Hello World!");
    }
}

class Main {
    public static void executeFunction(MyFunction func) {
        func.execute();
    }

    public static void main(String[] args) {
        MyFunction func = new MyFunctionImpl();
        executeFunction(func); // 输出:Hello World!
    }
}

2. 使用匿名内部类:

定义一个接口,接口中定义需要传递的函数。然后,使用匿名内部类创建一个接口的实现对象,并在其中实现接口中定义的函数。最后,在需要传递函数作为参数的方法中,将匿名内部类的对象作为参数传递进去。

例子:

interface MyFunction {
    void execute();
}

class Main {
    public static void executeFunction(MyFunction func) {
        func.execute();
    }

    public static void main(String[] args) {
        executeFunction(new MyFunction() {
            public void execute() {
                System.out.println("Hello World!");
            }
        }); // 输出:Hello World!
    }
}

通过接口和匿名内部类的方式,可以在Java中模拟传递函数作为参数的功能。这样可以实现更加灵活的编程方式,并且使代码更加可读和可维护。