public class Test {
public static void main(String[] args) {
Son.getSon().jiao();
Daughter.getDaughter().jiao();
}
}
//懒汉式 不安全 需要的时候才创建对象
class Son{
private static Son fa;
private Son() {};
//为了使多线程更加安全所以需要加锁
public synchronized static Son getSon() {
if (fa==null) {
return fa=new Son();//如果并未创建对象则新建对象
}
return fa;//如果有对象则返回现有对象
}
public void jiao() {
System.out.println("jiao");
}
}
//饿汉式 安全 上来就创建对象
class Daughter{
private static Daughter fa=new Daughter();
private Daughter() {};
public static Daughter getDaughter() {
return fa;//已经有对象所以直接返回
}
public void jiao() {
System.out.println("jiao");
}
}
单例模式讲解
最新推荐文章于 2024-08-05 12:58:25 发布