sx_mail 2015-11-03 08:33 采纳率: 0%
浏览 1358

这个单例有问题吗?欢迎大家提供讨论。

单例很简单,一般也都不这么写,但是真的这么写,又有啥问题呢?欢迎大家积极提供意见。

 public class PersonCreate {
    private static PersonCreate referent = new PersonCreate();
    private static SoftReference<PersonCreate> softRef = new SoftReference<PersonCreate>(referent);

    private PersonCreate() {
    }

    public static PersonCreate getInstance() {
        referent = null;
        PersonCreate pc = softRef.get();
        if (pc != null) {
            return pc;
        } else {
            referent = new PersonCreate();
            softRef = new SoftReference<PersonCreate>(referent);
            referent = null;
        }
        return softRef.get();
    }

    public void print() {
        System.out.println("hello");
    }
}
  • 写回答

2条回答 默认 最新

  • Carry_小超 2015-11-03 09:08
    关注

    不这样就不具有封装的效果了 都是静态的调用 如果项目比较大容易出差错

    评论

报告相同问题?