请设计一个类,该类在同一个进程中只能由一个实例,且该实例允许外部访问。
由题可知:在整个程序中只能出现一次类的实例,即为单例模式。
程序设计:
单例模式有 3 个特点:
1、单例类只有一个实例对象;
2、该单例对象必须由单例类自行创建;
3、单例类对外提供一个访问该单例的全局访问点;
单例模式有两种设计方法:懒汉式和饿汉式
饿汉式:
class A{
private static A a = new A();
private A(){ //使用private访问控制符来让外界不能new该对象;只能调用静态方法来获取。
}
public static A getInstance()
{
return a;
}
}
懒汉式:
class A{
private static A a=null;
private A(){ }
public synchronized static A getInstance()
{
if(a == null)
{
a = new A();
}
return a;
}
}