单例模式
什么叫单例模式?
保证一个类仅有一个实例。并提供一个访问这个类对象的全局访问点。
单例模式的目的:
控制特定的类只产生一个对象。
单例模式的实现:
1.将构造器私有化
2.定义当前类的静态变量
3.定义一个静态方法,将创建的对象返回
实现单例模式:
什么叫单例模式?
保证一个类仅有一个实例。并提供一个访问这个类对象的全局访问点。
单例模式的目的:
控制特定的类只产生一个对象。
单例模式的实现:
1.将构造器私有化
2.定义当前类的静态变量
3.定义一个静态方法,将创建的对象返回
饿汉模式
package com.test.singleton;
public class Singleton {
//饿汉模式
private static final Singleton single = new Singleton();
private Singleton(){
}
public static Singleton getInstance(){
return single;
}
}
懒汉模式:
package com.test.singleton;
public class Student {
//懒汉模式
private static Student stu;
private Student(){
}
//定义一个静态方法
//返回当前类对象
public static synchronized Student getInstance(){
//判断stu是否为null,如果不为null,直接返回对象
//如果为null, 就说不存在,就需要创建
if(stu == null){
stu = new Student();
}
return stu;
}
}