所以这段代码是在考试中给出的,问题是它有什么问题。它旨在创建新的类型对象,SomeClass
但前提是它们不是之前创建的。
class Foo {
private SomeClass x = null;
public synchronized SomeClass getX() {
if (x == null)
x = new SomeClass();
return x;
}
}
我的猜测是x
并且getX
应该被声明为静态的,否则可能会有多个x
. 那是对的吗?如果是这样,那是代码中唯一的问题吗?