单例指仅仅被实力化一次的类。

public class Elvis {
public static final Elvis INSTANCE = new Elvis();
private Elvis(){}
public static Elvis getInstance(){
return INSTANCE;
}

}


public enum Elvis {
INSTANCE;

public void leaveTheBuilding(){}
}

 以上第一段是Java1.5之前的单例,下面那段是1.5之后的枚举类的单例。其实2种都一样的而第二种更简洁,所以枚举是单例的最佳实现方式