在 Java 中实现事件处理 class 的最常见和最有效的方法是什么?

Which is the most common and efficient way to implement the event handling class in Java?

根据标题,实现事件处理的最佳和最有效的方法是什么?

  1. 创建侦听器 object 作为内部 class
  2. 通过使用 this 关键字
  3. 为事件侦听器使用匿名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);
            }
        }
    }