黑马程序员技术交流社区

标题: 单例设计模式,如何确定对象的唯一性? [打印本页]

作者: 李前进    时间: 2014-3-28 16:55
标题: 单例设计模式,如何确定对象的唯一性?
有一个Student类,如何确定对象的唯一性?需要加哪三步?
作者: H-Deka    时间: 2014-3-28 16:59
首先把Student类的构造方法private私有化,然后提供一个静态方法返回一个Student对象,使用时直接使用Student类名调用静态方法就行了
作者: 黄晓鑫    时间: 2014-3-28 17:00
hashCode equals compare
作者: osully    时间: 2014-3-28 17:08
1,私有化构造函数
2,私有一个静态的本类对象
3,公有一个静态的函数,返回那个对象.
作者: 学习代码    时间: 2014-3-28 17:12
关于单列设计模式有两种不同的选择方式,一是饿汉式,另外一种是懒汉式
  1. class Student  //第一种 饿汉式
  2. {
  3.         private static Student s = new Student();
  4.         private Student(){}
  5.         public static Student getStudent()
  6.         {
  7.                 return s;
  8.        
  9.         }
  10. }
  11. class Student// 第二种 懒汉式,但是在多线程操作的时候是线程不安全的。要加同步
  12. {
  13.         private static Student s = null;
  14.         private Student(){}
  15.         public static Student getStudent()
  16.         {
  17.                 if (s==null)
  18.                 {
  19.                         s= new Student();
  20.                         return s;
  21.                 }
  22.         }
  23. }
复制代码

:lol
作者: 钟成军    时间: 2014-3-28 17:18
private Person(){};  //私有化构造函数
private  static Person p = new Person();

public static Person getInstance()
{
return p;
}
作者: heheka123    时间: 2014-3-28 17:38
                        a.构造函数私有化
                        b.实例化自身对象
                        c.静态方法出口



用静态方法做出口,   




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