单例还可以这么写

今天看RxJava源码,发现一种从未见过的单例写法。

public interface Subscription {   

    void unsubscribe();

    boolean isUnsubscribed();

}


public enum  Unsubscribed  implements  Subscription {

  INSTANCE;

  @Override

  public booleanisUnsubscribed() {

    return true;

  }

  @Override

  public voidunsubscribe() {}

}

就是上述Unsubscribed中的INSTANCE,会在第一次被使用时初始化。

你可能感兴趣的:(单例还可以这么写)