今天看RxJava源码,发现一种从未见过的单例写法。
public interface Subscription {
void unsubscribe();
boolean isUnsubscribed();
}
public enum Unsubscribed implements Subscription {
INSTANCE;
@Override
public booleanisUnsubscribed() {
return true;
}
@Override
public voidunsubscribe() {}
}
就是上述Unsubscribed中的INSTANCE,会在第一次被使用时初始化。
网友评论