这似乎是一个愚蠢的问题,但是当我按照单例模式创建一个类时,我一直在徘徊,对象在什么时候实例化?
例如私有(private)静态 SingleObject 实例 = new SingleObject();
使用方法 getInstance()
定义:
public static SingleObject getInstance(){
return instance;
}
所以“instance”是一个静态变量,它引用 SingleObject 的实例。但它在什么时候被实际实例化并加载到内存中呢? (如果这有意义的话)
最佳答案
它在类加载时实例化(即初始化静态成员的时间),这是第一次对该类进行任何引用。如果 getInstance
是此类导出的唯一成员(即可从此类外部访问的唯一方法或成员),则在第一次调用 getInstance()
时创建该实例.
关于java - 单例模式对象实例化时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25560078/