package item;
/**
设计模式:解决某一类问题的最有效方式(23种设计模式)
第1种:单例设计模式:解决的是一个类只能有一个对象(1个实例的意思)
①构造函数私有化
②在类内部创建一个自身类型的对象
③在使用一个public 的函数,把该对象返回
**/
//这是饿汉式:在实际使用中,建议用饿汉式
class Single
{
private Single(){} //①
private static Single s=new Single();//②
public static Single getinstance()//③
{
return s;
}
}
//懒汉式:等为空的时候再创建对象,在多线程的情况会有问题
class Single2
{
private Single2(){}
private static Single2 s;
public static Single2 getInstance()
{
if(s==null)
{
s=new Single2();
}
return s;
}
}
public class DanliSJMS {
public static void main(String[] args) {
Single s1=Single.getinstance();
Single s2=Single.getinstance();
System.out.println(s1==s2);//判断2个对象是否同一个对象
}
}
/**
设计模式:解决某一类问题的最有效方式(23种设计模式)
第1种:单例设计模式:解决的是一个类只能有一个对象(1个实例的意思)
①构造函数私有化
②在类内部创建一个自身类型的对象
③在使用一个public 的函数,把该对象返回
**/
//这是饿汉式:在实际使用中,建议用饿汉式
class Single
{
private Single(){} //①
private static Single s=new Single();//②
public static Single getinstance()//③
{
return s;
}
}
//懒汉式:等为空的时候再创建对象,在多线程的情况会有问题
class Single2
{
private Single2(){}
private static Single2 s;
public static Single2 getInstance()
{
if(s==null)
{
s=new Single2();
}
return s;
}
}
public class DanliSJMS {
public static void main(String[] args) {
Single s1=Single.getinstance();
Single s2=Single.getinstance();
System.out.println(s1==s2);//判断2个对象是否同一个对象
}
}