单例设计模式
(类只能产生一个对象)
饿汉式 | 懒汉式 | |
---|---|---|
优点 | 线程安全 | 延迟对象的创建,时间复杂度小 |
缺点 | 对象加载时间过长,时间复杂度大 | 线程不安全 |
饿汉式
1.私有化类的构造器
2.内部创建私有的类的对象 (内部声明本类类型的属性,后边赋值时进行实例化);
3.提供公共静态方法,返回类的对象;
4.要求此对象也应该为静态的(因为静态方法中只能使用静态属性);
public class test{
public static void main(String[] args){
Bank bank1 = Bank.getInstance();
Bank bank2 = Bank.getInstance();
System.out.println(bank1 = bank2);
}
}
class Bank{
private Bank(){
}
private static Bank instance = new Bank();
public static void getInstance(){
return instance ;
}
}
懒汉式
public class test{
public static void main(String[] args){
Bank bank1 = Bank.getInstance();
Bank bank2 = Bank.getInstance();
System.out.println(bank1 = bank2);
}
}
class Bank{
private Bank(){
}
private static Bank instance = null;
public static void getInstance(){
if(instance = null){
instance = new Bank();
}//防止重复造对象
return instance ;
}
}