我们不能直接将一个方法本身作为参数传递给另一个方法。但是,我们可以将一个方法调用的结果作为参数传递给另一个方法。
// pass method2 as argument to method1
public void method1(method2());
在这里,从 method2() 返回的值被指定为 method1() 的参数。
如果我们想传递实际的方法,我们使用 lambda表达式。要了解更多,请访问 Java中将Lambda表达式作为方法参数传递。
示例:Java程序将方法作为参数传递
class Main {
// calculate the sum
public int add(int a, int b) {
// calculate sum
int sum = a + b;
return sum;
}
// calculate the square
public void square(int num) {
int result = num * num;
System.out.println(result); // prints 576
}
public static void main(String[] args) {
Main obj = new Main();
// call the square() method
// passing add() as an argument
obj.square(obj.add(15, 9));
}
}
在上面的示例中,我们创建了两个名为square()
和add()
的方法。注意这一行:
obj.square(obj.add(15, 9));
在这里,我们将add()
方法作为square()
方法的参数进行调用。因此,从add()
返回的值被传递给square()
作为参数。