A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Treasureと情 高级黑马   /  2012-2-28 11:54  /  1742 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问下用单例模式有什么好处啊

2 个回复

倒序浏览
单例模式则是说该类的对象在程序运行过程中在内存中永远固定都只有一个,使用者只能用这一个对象 为了防止使用者过多的创建该类的对象 ,可以使用单例模式。
单例设计模式有两种实现方式:饿汉式和懒汉式。
例子如下

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: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;
   }

}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马