package test;
/*
单例设计模式特点
1.类不能实例化 构造方法私有化
2.类中先实例化一个对象
3.提供一个返回类对象的方法 getInstance
*/
public class Singleton {
public static void main(String[] args) {
// TODO Auto-generated method stub\
Single si=Single.getInstance();
si.say();
System.out.println("------------------------");
Single1 si2=Single1.getInstance();
si2.say();
}
}
/*
* 饿汉式单例设计模式
*/
class Single{
//先实例化一个对象
private static Single s=new Single();
private Single(){
}
public void say(){
System.out.println("这是一个单例饿汉式设计模式");
}
public static Single getInstance(){
return s;
}
}
/*
* 懒汉式单例设计方法
*/
class Single1{
//先实例化一个对象
private static Single1 s=null;
private Single1(){
}
public void say(){
System.out.println("这是一个单例懒汉式设计模式");
}
public static Single1 getInstance(){
if(s==null){
s=new Single1();
}
return s;
}
}
public class Singleton {
public static void main(String[] args) {
// TODO Auto-generated method stub\
Single si=Single.getInstance();
si.say();
System.out.println("------------------------");
Single1 si2=Single1.getInstance();
si2.say();
}
}
/*
* 饿汉式单例设计模式
*/
class Single{
//先实例化一个对象
private static Single s=new Single();
private Single(){
}
public void say(){
System.out.println("这是一个单例饿汉式设计模式");
}
public static Single getInstance(){
return s;
}
}
/*
* 懒汉式单例设计方法
*/
class Single1{
//先实例化一个对象
private static Single1 s=null;
private Single1(){
}
public void say(){
System.out.println("这是一个单例懒汉式设计模式");
}
public static Single1 getInstance(){
if(s==null){
s=new Single1();
}
return s;
}
}