2

和有什么区别

setBorder(new TitledBorder(""));

setBorder(BorderFactory.createTitledBorder(""));

他们有哪些优点/缺点?

4

2 回答 2

4

BorderFactory实际上可能不会在每次调用它时创建新实例,而是返回对现有实例的引用,从而节省一些资源。另请参阅javadoc

如果你真的想知道里面发生了什么,你也可以查看实际的实现BorderFactory;-)

于 2013-12-08T19:10:13.680 回答
1

根据Effective Java,第1 项:考虑静态工厂方法而不是构造函数BorderFactory.createTitledBorder("")是静态工厂方法,具有以下优点:

  1. 静态工厂方法的一个优点是,与构造函数不同,它们有名称。
  2. 静态工厂方法的第二个优点是,与构造函数不同,它们不需要在每次调用时都创建一个新对象。
  3. 静态工厂方法的第三个优点是,与构造函数不同,它们可以返回其返回类型的任何子类型的对象。
  4. 静态工厂方法的第四个优点是它们减少了创建参数化类型实例的冗长。

有关详细说明,请浏览本书。

于 2013-12-08T19:14:55.300 回答