我想在 Java 中做这样的事情,但我不知道怎么做:
当事件“object 1 say 'hello'”发生时, 然后对象 2 通过说“你好”来响应该事件。
谁能给我一个提示或示例代码?
最佳答案
您可能想查看 observer pattern .
这里有一些示例代码可以帮助您入门:
import java.util.*;
// An interface to be implemented by everyone interested in "Hello" events
interface HelloListener {
void someoneSaidHello();
}
// Someone who says "Hello"
class Initiater {
private List<HelloListener> listeners = new ArrayList<HelloListener>();
public void addListener(HelloListener toAdd) {
listeners.add(toAdd);
}
public void sayHello() {
System.out.println("Hello!!");
// Notify everybody that may be interested.
for (HelloListener hl : listeners)
hl.someoneSaidHello();
}
}
// Someone interested in "Hello" events
class Responder implements HelloListener {
@Override
public void someoneSaidHello() {
System.out.println("Hello there...");
}
}
class Test {
public static void main(String[] args) {
Initiater initiater = new Initiater();
Responder responder = new Responder();
initiater.addListener(responder);
initiater.sayHello(); // Prints "Hello!!!" and "Hello there..."
}
}
关于java - 在 Java 中创建自定义事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6270132/