Singleton:
单例模式,从字面上理解就是一个类只有一个实例:
在项目中欧这种模式是非常多见的,比如说是数据库的连接:它可以节省内存,便于回收,因为它限制了实例的个数(就只有一个)
实现单例模式的方法就是将在单例类的中的构造方法声明为私有的就可以了,这样的话在外面就不能创建一个单例类的实例了(只能是声明):
光这样说相信谁都不明白,但是写一个实例我想谁都明白了呵呵:
package singleDemo;
/**
* 写一个静态的单例 类这个类只有一个实例:
*/
class Single{
//将构造方法私有(这样外面就不能创建本类的实例了)
private Single(){
}
//可以在本类中进行实例化(为了能在其他的类中使用这个唯一的实例就要声明成静态的!)
//再加上一个关键字final保证只能实例化一次
//将它设置为私有的这样就必写一个方法将这个类向外面传送!
private static final Single sl = new Single();
//写一个静态的方法将静态的私有的单例传出去
public static Single getSingleInstance(){
return sl;
}
//单例类中的方法
public void say(){
System.out.println("单例说话了!");
}
}
public class SingletonDemo {
public static void main(String args[]){
//Single s = new Single();//因为构造方法私有不能创建单例类的实例了
Single s = null;//只是声明是可以的
s = Single.getSingleInstance();//直接类名点静态方法得到单例
s.say();
}
}