黑马程序员技术交流社区

标题: 请问下用单例模式有什么好处啊 [打印本页]

作者: Treasureと情    时间: 2012-2-28 11:54
标题: 请问下用单例模式有什么好处啊
请问下用单例模式有什么好处啊
作者: 冯兵兵    时间: 2012-2-28 12:26
单例模式则是说该类的对象在程序运行过程中在内存中永远固定都只有一个,使用者只能用这一个对象 为了防止使用者过多的创建该类的对象 ,可以使用单例模式。
单例设计模式有两种实现方式:饿汉式和懒汉式。
例子如下

public class TestSingleton {
private final static TestSingleton singleton = new TestSingleton();

private TestSingleton() {

}

public static TestSingleton getSingleton() {
return singleton;
}
}

类TestSingleton把自己的构造方法变成私有的 也就是说只有该类自己能够生成自己的对象 其他的类想要生成该类的对象只能通过getSingleton()获得,这个类只生成了一个私有静态对象(该对象只有该类才有权使用) 所有的类通过这个方法获得的都是该对象,也就是说 获得这个对象的方法 只有 TestSingleton singleton = TestSingleton.getSingleton();


作者: 胡军喜    时间: 2012-2-28 15:03
本帖最后由 胡军喜 于 2012-2-28 15:06 编辑

单例模式限制的生成对象只有一个,避免多个对象造成内存浪费,其特点:
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。

要实现单列模式,可以用下面的方式完成。
创建一个类,满足:
(1)构造器私有:
(2)用一个私有变量、静态变量引用实例
(3)提供一个方法,可以获取到该对象
class Single{
   private Single()


  }
  private static String name;
    private static  Single s=new Single();
   public static getS()
   {
      rerurn s;
   }

}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2