今天看RxJava源碼饥追,發(fā)現(xiàn)一種從未見過(guò)的單例寫法硝拧。
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í)初始化。