单例设计的步骤:
1 构造方法用private来声明,那么表示构造方法只能被类的内部所使用,所以在类中内部提供一个本类的实例化对象,并且用private static final来声明这个对象;
2 提供有一个get方法来得到这个对象,同时也要使用static属性。
代码如下:
客户端:
从运行的结果我们可以看出两次调用都是同一个对象。
这样设计的意义:
如果 现在要控制一个类中实例化对象的产生的个数,那么首先要锁定类中的构造方法,只有构造方法才可以产生新的实例化对象;那么我们需要在这个类的内部使用static方式来定义一个公共的对象,并且static方法来返回公共对象,那么最终一个类只能产生唯一的一个对象。
上面的代码编写的单例是饿汉式的应用,无论你是否使用,这个对象早已经准备好。下面我们使用懒汉式来实现,它是在第一次使用的时候才会产生对象。