单例模式,是一种为了避免因为大量的创建不必要的对象引起的内存浪费的情况而产生的一种设计模式,如果一个类只能创建一个对象,那么这个类就叫做单例类,有懒汉模式与饿汉模式之分。
对于这种我们只需要创建一个对象的类(窗口管理器的调用、数据库链接的获取等),我们采用单例模式处理,单例模式有以下的特点:
构造方法私有化,避免直接使用构造方法构造类;
提供公有的方法作为访问点,且这个方法必须是static的,这是因为不用static的是实例方法,实例又获取不到,这个类会无法使用;
可以缓存对象,保证只创建一个实例对象。
下面是两种单例模式的示例代码:
懒汉模式
class Simple {
//私有化构造器
private Simple(){}
//内部创建的唯一的本来对象
private static Simple simple = null;
//公共的访问点
public static Simple getSimple() {
//如果对象没有创建,先创建
if(simple == null){
simple = new Simple();
}
//返回唯一的对象
return simple;
}
}
public class Test08{
public static void main(String[] args) {
//获取
Simple simple = Simple.getSimple();
}
}
饿汉模式
class Simple {
//私有化构造器
private Simple(){}
//内部创建的唯一的本来对象
private static Simple simple = new Simple();
//公共的访问点
public static Simple getSimple() {
//返回唯一的对象
return simple;
}
}
public class Test08{
public static void main(String[] args) {
//获取
Simple simple = Simple.getSimple();
}
}
以上就是简单的单例模式的实例,还是很简单的。