单例设计模式是指,在整个系统中的一个类只允许提供一个实例化的对象,需要对构造方法使用private进行访问权限限制,禁止通过new来实例化新对象,通常会在类内部提供一个全局实例化对象供用户使用。而单例设计模式又分为饿汉单例设计和懒汉单例设计。饿汉单例设计:在定义类属性时就已经对对象进行实例化处理。懒汉单例设计:在第一次使用类是才进行对象的实例化,这样的好处是可以节省程序启动时的资源。
饿汉单例设计:
class SingletonMode {
//在内部类进行实例化
private static final SingletonMode SINGLETON = new SingletonMode();
//构造方法私有化,外部无法通过new来实例化对象
private SingletonMode(){
}
public static SingletonMode getInstance(){
return SINGLETON;
}
public void print(){
System.out.println("饿汉单例设计模式!");
}
}
懒汉单例设计:
class SingletonMode {
//在内部类进行实例化
private static SingletonMode SINGLETON;
//构造方法私有化,外部无法通过new来实例化对象
private SingletonMode(){
}
public static SingletonMode getInstance(){
if (SINGLETON==null){ //如果对象在使用时没有实例化,那么就进行实例化
SINGLETON = new SingletonMode();
}
return SINGLETON;
}
public void print(){
System.out.println("懒汉单例设计模式!");
}
}
主函数调用:
public class Singleton{
public static void main(String[] args) {
SingletonMode singletonMode = SingletonMode.getInstance();
singletonMode.print();
}
}
网友评论