safelistener.java

来自「java concurrency in practice 源码. JAVA」· Java 代码 · 共 43 行

JAVA
43
字号
package net.jcip.examples;/** * SafeListener * <p/> * Using a factory method to prevent the this reference from escaping during construction * * @author Brian Goetz and Tim Peierls */public class SafeListener {    private final EventListener listener;    private SafeListener() {        listener = new EventListener() {            public void onEvent(Event e) {                doSomething(e);            }        };    }    public static SafeListener newInstance(EventSource source) {        SafeListener safe = new SafeListener();        source.registerListener(safe.listener);        return safe;    }    void doSomething(Event e) {    }    interface EventSource {        void registerListener(EventListener e);    }    interface EventListener {        void onEvent(Event e);    }    interface Event {    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?