在 Java 中实现事件处理 class 的最常见和最有效的方法是什么?
Which is the most common and efficient way to implement the event handling class in Java?
根据标题,实现事件处理的最佳和最有效的方法是什么?
- 创建侦听器 object 作为内部 class
- 通过使用
this
关键字
- 为事件侦听器使用匿名class
您可以使用观察者模式。
例如:
public class Observer {
private String state;
public void update(String state) {
this.setState(state);
}
}
public class Observed {
private String state;
private List<Observer> observers = new ArrayList<>();
public void addObserver(Observer observer) {
this.observers.add(observer);
}
public void removeObserver(Observer observer) {
this.observers.remove(observer);
}
public void setState(String state) {
this.state = state;
for (Observer observer : this.observers) {
observer.update(this.state);
}
}
}
根据标题,实现事件处理的最佳和最有效的方法是什么?
- 创建侦听器 object 作为内部 class
- 通过使用
this
关键字 - 为事件侦听器使用匿名class
您可以使用观察者模式。 例如:
public class Observer {
private String state;
public void update(String state) {
this.setState(state);
}
}
public class Observed {
private String state;
private List<Observer> observers = new ArrayList<>();
public void addObserver(Observer observer) {
this.observers.add(observer);
}
public void removeObserver(Observer observer) {
this.observers.remove(observer);
}
public void setState(String state) {
this.state = state;
for (Observer observer : this.observers) {
observer.update(this.state);
}
}
}