今天看RxJava源碼,發(fā)現(xiàn)一種從未見過的單例寫法。
public interface Subscription { ??
? ? void unsubscribe();
? ? boolean isUnsubscribed();
}
public enum ?Unsubscribed ?implements ?Subscription {
? INSTANCE;
? @Override
? public booleanisUnsubscribed() {
? ? return true;
? }
? @Override
? public voidunsubscribe() {}
}
就是上述Unsubscribed中的INSTANCE,會(huì)在第一次被使用時(shí)初始化。