在类中使用共享服务

时间:2014-10-27 20:14:36

标签: java class oop static shared-memory

我有一个类ServerFactory,如下所示:

public class ServerFactory{
private static Server sharedServer=null;

public static getSharedServer(){...}
}

我有一个类似的实用程序类:

public class AUtils{
private Server server;
public AUtils(){
this.server = ServerFactory.getSharedServer();
}}

问题:每次创建AUtils实例时会发生什么?我是否会使用服务器工厂中唯一的静态实例,或者每个AUtils对象都有一个单独的服务器实例?

1 个答案:

答案 0 :(得分:3)

您每次都会使用静态实例。在AUtils类中,您只需引用仅创建一次的实际singleton实例。

顺便说一下,我假设代码如下:

public static getSharedServer(){
    if(sharedServer == null) {
         sharedServer = ... //create server instance
    }
    return sharedServer;
}