下面的代码取自另一篇 SO 帖子,我想知道是否有更好的方法来编写此代码,因为在每个实现的方法结束时有一个通知所有侦听器的循环有点难看。如果这很愚蠢,请原谅我,我是新手Java
。
注意:我将在接口中实现多个方法,我将实现 5 个方法:
import java.util.*;
interface HelloListener {
public void someoneSaidHello();
}
class Initiater {
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();
}
}
class Responder implements HelloListener {
@Override
public void someoneSaidHello() {
System.out.println("Hello there...");
}
}