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

有一个Student类,如何确定对象的唯一性?需要加哪三步?

6 个回复

倒序浏览
首先把Student类的构造方法private私有化,然后提供一个静态方法返回一个Student对象,使用时直接使用Student类名调用静态方法就行了
回复 使用道具 举报
hashCode equals compare
回复 使用道具 举报
1,私有化构造函数
2,私有一个静态的本类对象
3,公有一个静态的函数,返回那个对象.
回复 使用道具 举报
关于单列设计模式有两种不同的选择方式,一是饿汉式,另外一种是懒汉式
  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
回复 使用道具 举报
private Person(){};  //私有化构造函数
private  static Person p = new Person();

public static Person getInstance()
{
return p;
}
回复 使用道具 举报 1 0
                        a.构造函数私有化
                        b.实例化自身对象
                        c.静态方法出口



用静态方法做出口,   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马