我可以让类的静态字段保持对自身实例的引用吗?如果是这样,它会在jvm中保持活着而没有其他人保留参考吗?
public class StatTest {
private static StatTest statTest;
public static StatTest getStatTest () {
if (statTest== null) {
statTest= new StatTest ();
statTest.init();
}
return statTest;
}
private StatTest() { }
}
答案 0 :(得分:7)
是的,这是Singleton设计模式的概念!
答案 1 :(得分:2)
这是创建类的单例的一种方法。
所以回答你的问题:
getStatTest()
方法的所有引用都将返回该实例。将此方法用于单身人士时,该方法通常称为getInstance()
=)
答案 2 :(得分:1)
它会在没有其他人保留参考的情况下在jvm中保持活力吗?
是的,只要类本身不符合垃圾收集条件(只有在使用自定义类加载器时才会发生)。
答案 3 :(得分:0)
祝贺。你重塑了单身人士。 http://en.wikipedia.org/wiki/Singleton_pattern