单例设计模式 :主要是为了解决在计算机内存中某个类只存在一个对象的情况
(例子:任务管理器,怎么启动都只有一个)
如何实现只有一个对象?
(例子:任务管理器,怎么启动都只有一个)
如何实现只有一个对象?
实例化对象 ->构造函数
恶汉式
1.将构造函数私有化 :避免在外部调用构造函数实例化对象
private Single()
{
super();
}
2.在本类提供一个对象
private static Single s=new Single();
3.对外提供公共的方法
public static Single getInstances()
{
return s;
}
class Single {
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
private Single()
{
super();
}
private static Single s=new Single();
public static Single getInstances()
{
return s;
}
//懒汉式
class Single2
{
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
private Single2()
{
super();
}
private static Single2 s2=null;
public synchronized static Single2 getInstances()// synchronized 保证线程安全
{
if(s2==null) s2=new Single2();
return s2;
}
}