【发布时间】:2015-08-07 18:01:54
【问题描述】:
我有这样的方法:
public class FooFactory {
public Foo createNewFoo(){
return new foo();
}
}
现在如果我这样做:
FooFactory fooFactory = new FooFactory();
Foo foo = FooFactory.createNewFoo();
它会工作得很好。但是,如果我尝试这样做:
new Foo() = FooFactory.createNewFoo();
它似乎根本不起作用。它说“预期变量”。
我知道 new Foo() 本身会创建一个新的 Foo 对象,但即使我使用工厂,它也应该用新的 Foo 对象覆盖匿名对象。
我也尝试过创建一个包含 Foo 的 ArrayList 并在做
arrayList.add(new Foo());
arrayList.get(0) = FooFactory.createNewFoo();
它仍然显示“预期变量”。为什么这么说?
Foo foo = new Foo();
Foo otherFoo = foo;
这工作得很好,所以我不明白为什么我不能让工厂使用匿名对象。
我尝试在线搜索此内容,但没有搜索结果,这表明我可能犯了一些荒谬的错误/使用工厂模式错误。
【问题讨论】:
标签: java factory-pattern anonymous-types