1-对Singleton的理解
1- 单例对象设计
所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象的实例
2- 如何实现
饿汉式 VS 懒汉式
3- 区分"饿汉式"and"懒汉式"
饿: 坏处,对象加载时间长(但是,线程安全 ) 懒: 好处,延迟对象的创建(线程不安全)
2-对饿汉式
的理解和使用
/*
单例的设计模式:-- 饿汉式
所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象的实例
*/
public class singleTest {
public static void main(String[] args) {
//Bank bank = new Bank(); -- 不能直接调用私有的构造器
Bank bank1 = Bank.getInstance();//Static方法的,可以只要用所属类来调用
}
}
class Bank {//饿汉式
//1- 私有化类的构造器
private Bank() {
}
//2- 内部创建类的对象
//4- 要求此对象也必须声明为静态
private static Bank instance = new Bank();
//3- 提供公共的方法,返回类的对象
public static Bank getInstance() {
return instance;
}
}
3-对懒汉式
的理解和使用
/*
单例的设计模式:-- 懒汉式
*/
public class SingletonTest2 {
public static void main(String[] args) {
Order order1 = Order.getInstance();
Order order2 = Order.getInstance();
System.out.println(order1 == order2);
}
}
class Order {
//1- 私有化类的构造器
private Order() {
}
//2- 声明当前类对象,没有初始化
//4- 此对象也必须声明为static的
private static Order instance = null;
//3- 声明public、static的返回当前类对象的方法
public static Order getInstance() {
if (instance == null) {
instance = new Order();
}
return instance;
}
}