2012-04-17 70 views
0
public class Factoryclass 
{ 

public static MyClass returnObject(String str) 
{ 
// Based on the parameter passed it will retrn some class 
} 
} 

如果在Web应用程序中,则是100个请求。工厂类将创建多少个实例

现在请告诉我有多少个Factoryclass对象会被创建?

+3

(1)这是不可能知道没有更多的代码,可能是0,可能是100,对于每个自然的'n'都可以是'n'。 (2)'//根据传递的参数,它将会返回一些类 - 哪些参数?这是一个没有争议的方法 – amit 2012-04-17 12:40:57

+0

编辑我的问题接受参数 – Pawan 2012-04-17 12:42:25

+0

我会运行它并看到。每次创建工厂时都可以让它打印一条消息。 – 2012-04-17 12:42:57

回答

4

如果你

Factoryclass.returnObject() 

没有Factoryclass实例将被创建,除非你做new Factoryclass()returnObject方法内

0

它完全取决于你的方法returnObject()的内容。它是一个静态方法的事实只意味着它是“无状态的”,并且不会从非静态实例成员中获取才能工作。但是,每次调用它时,都可能会实例化一个新实例。

事实上,这是一家工厂让我认为事实上就是这样。但是,工厂模式的性质会暗示它对你无关紧要。如果您的实现取决于此Factoryclass返回多个实例或同一实例的事实,则某人在将其作为工厂时做出错误决定。