**
单例模式
**
1.单例模式是干什么的?
在一个类的外部有且只有该类的一个对象
2.什么时候用?
让其new不出来
通过方法返回对象
3.单利模式的三个条件。
1)私有化的构造方法
2)私有化的静态引用变量(静态块 就在类加载时执行一次)
3)公共的有返回值类型的静态方法
注:1.static在类加载的时候就执行一次
2.静态方法——>可以类名.变量名
3.构造方法,一种特殊的方法,它是一个与类同名且返回值类型为同名类类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。
4.两种写法
a.饿汉式:先创建对象,直接拿来用 浪费空间节省时间
b.懒汉式:先判断在创建 浪费时间 节省空间 线程不安全
5.代码实例
1.饿汉式:
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton (){}
public static Singleton getInstance() {
return instance;
}
}
2.懒汉式:
public class Singleton {
private static Singleton instance;
private Singleton(){}
public static Singleton getlnstance(){
if(instance == null)
{
instance = new Singleton();
}
return instance;
}
}