步骤1.私有化构造器,禁止外界调用构造器创建对象
步骤2.定义一个类方法用于获得单例对象,返回值是这个类的类型
1.懒汉单例模式
public class TestSingleton{
public static void main(String[] args){
Singleton s = Singleton.getInstance();
Singleton s1 = Singleton.getInstance();
System.out.println(s);
System.out.println(s1);
}
}
class Singleton{
//定义一个静态的类名类型的对象变量
private static Singleton s;
private Singleton(){
}
//懒汉单例模式 不用的时候不初始化s,用的时候在初始化s
public static Singleton getInstance(){
if(s == null){
s = new Singleton();
}
return s;
}
}
2.恶汉单例模式
public class TestSingleton1{
public static void main(String[] args){
Singleton s = Singleton.getInstance();
Singleton s1 = Singleton.getInstance();
System.out.println(s);
System.out.println(s1);
}
}
class Singleton{
//恶汉模式直接初始化对象
private static Singleton s = new Singleton();
private Singleton(){
}
//恶汉单例模式
public static Singleton getInstance(){
return s;
}
}