静态实例变量引用类的实例

时间:2011-11-09 09:09:20

标签: java reference

我可以让类的静态字段保持对自身实例的引用吗?如果是这样,它会在jvm中保持活着而没有其他人保留参考吗?

public class StatTest {
    private static StatTest statTest;

    public static StatTest getStatTest () {
        if (statTest== null) {
            statTest= new StatTest ();
            statTest.init();
        }
        return statTest;
    }

    private StatTest() { }
}

4 个答案:

答案 0 :(得分:7)

是的,这是Singleton设计模式的概念!

答案 1 :(得分:2)

这是创建类的单例的一种方法。

所以回答你的问题:

  • 是的,有可能
  • getStatTest()方法的所有引用都将返回该实例。

将此方法用于单身人士时,该方法通常称为getInstance() =)

答案 2 :(得分:1)

  

它会在没有其他人保留参考的情况下在jvm中保持活力吗?

是的,只要类本身不符合垃圾收集条件(只有在使用自定义类加载器时才会发生)。

答案 3 :(得分:0)

祝贺。你重塑了单身人士。 http://en.wikipedia.org/wiki/Singleton_pattern