首页 > 代码库 > 实现singleton的三种方式

实现singleton的三种方式

/**
Singleton with public final field
**/

public
class Elvis{ public static final Elvis INSTANCE = new Elvis(); private Elvis(){ ... } public void leaveTheBuilding(){ ... } }

//Singleton with static factory
public class Elvis{
  private static final Elvis INSTANCE = new Elvis();
  private Elvis(){ ... }
  public static Elvis getInstance(){ return INSTANCE;}
  public void leaveTheBuilding(){ ... }
}
//Enum singleton - the preferred approach
public enum Elvis{
  INSTANCE;
    public void leaveTheBuilding(){ ... }
}

 

实现singleton的三种方式