所谓单例:指的是在程序中只持有一个对象,不重复创建:
单例模式分为懒汉子和饿汉式:
区分:饿汉子类加载时创建,懒汉子需要用时才创建:
1.构造方法私有化
2.向外提供一个静态的实例方法
懒韩式实例代码:
public class
Fruit {
private static
Fruit
fruit
;
private
Fruit
(){
}
//构造方法私有化
//向外提供一个静态的实例方法
//懒汉子和饿汉子的区别在于是类创建先还是后创建实例
//类创建时创建饿汉式 线程安全的
//类创建以后创建 懒汉式,线程不安全
public static synchronized
Fruit
getFruitInstance
(){
if
(
fruit
==
null
){
fruit
=
new
Fruit()
;
}
return
fruit
;
}
}
饿汉子实例代码、
public class
Fruit1 {
private static
Fruit1
fruit
=
new
Fruit1()
;
private
Fruit1
(){
}
//构造方法私有化
//向外提供一个静态的实例方法
//懒汉子和饿汉子的区别在于是类创建先还是后创建实例
//类创建时创建饿汉式 线程安全的
//类创建以后创建 懒汉式,线程不安全
public static
Fruit1
getFruitInstance
(){
return
fruit
;
}
}