答案here显示了在java中创建自定义事件的方式。我明白了答案,但我想知道他为什么使用HelloListener
界面?我不认为这是必要的。为什么我们在java中创建自定义事件时使用接口?
我的代码:
import java.util.ArrayList;
import java.util.List;
class Initiater {
private List<Responder> listeners = new ArrayList<Responder>();
public void addListener(Responder toAdd) {
listeners.add(toAdd);
}
public void sayHello() {
System.out.println("Hello!!");
for (Responder hl : listeners)
hl.someoneSaidHello();
}
}
class Responder {
public void someoneSaidHello() {
System.out.println("Hello there...");
}
}
public class Test {
public static void main(String[] args) {
Initiater initiater = new Initiater();
Responder responder = new Responder();
initiater.addListener(responder);
initiater.sayHello();
}
}
我觉得我写的代码做同样的事情。我可以这样做吗?