gpt4 book ai didi

java - 创建带有函数参数的方法

转载 作者:行者123 更新时间:2023-12-03 02:33:56 25 4
gpt4 key购买 nike

我刚刚发现了这个方法:

new Thread(
new Runnable() {
public void run() {
try {
// MY CODE
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();

我想知道是否可以创建一个方法,其参数是我将放入//MY CODE 的函数。我可以这样做吗?以及如何:)

最佳答案

Java 不支持第一类函数(即可以作为参数传递或从方法返回的函数)。

但是您可以使用策略模式的某些变体:使用方法 execute 创建一些接口(interface) Executable,并将其匿名实现作为参数传递:

interface Executable {

void execute();
}

...
void someMethod(final Executable ex) {
//here's your code
new Thread(
new Runnable() {
public void run() {
try {
ex.execute(); // <----here we use passed 'function'
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}

...

//here we call it:

someMethod(new Executable() {
public void execute() {
System.out.println("hello"); // MY CODE section goes here
}
});

关于java - 创建带有函数参数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6080146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com