public class Singleton {
private Singleton(){}//构造函数为私有的
public static Singleton instance=null;
public static Singleton getInstance(){
if (instance == null){
synchronized(Singleton.class) { //1
if (instance == null) //2
instance = new Singleton(); //3
}
}
return instance;
}
public static void main(String[] args) {
Singleton singleton = Singleton.getInstance();
}
}
枚举单例
package com.qbsea.cz.single;
import com.sun.org.apache.bcel.internal.generic.INSTANCEOF;
import java.sql.Statement;
public enum LanConnection {
INSTANCE;
//任意方法
public Statement createStatement() {
return null;
}
}
Statement statement = LanConnection.INSTANCE.createStatement();
package com.qbsea.cz.single;
import java.sql.Statement;
public class MyConnectionFactory {
public static MyConnection createConnection(){
MyConnection instance = MyConnection.getInstance();
return instance;
}
public static Statement createLanConnection() {
Statement statement = LanConnection.INSTANCE.createStatement();
return statement;
}
}