为什么WordUtil实例是个坏主意?

时间:2012-03-03 23:53:12

标签: java apache-commons

当我找到this

时,我正在浏览Apache Commons java文档
  

不应在标准编程中构造WordUtils实例。

为什么?

我是一名新手程序员,所以也许这是“标准”的一点让我绊倒......

3 个答案:

答案 0 :(得分:3)

WordUtils是一个静态实用程序类。它提供了一组静态方法,每个方法都执行一个有用的任务,但是没有必要创建WordUtils的实例,因为该类不存储任何状态。

您可以直接在类上调用静态方法:

WordUtils.doSomething();

无需创建实例:

WordUtils wu =  new WordUtils();
wu.doSomething();

虽然这将工作,但创建WordUtils对象(使用new)毫无意义。

如果所有这些static内容都没有意义,请尝试关于该主题的Java Tutorial

答案 1 :(得分:1)

由于构造函数的javadoc提到:

  

不应在标准编程中构造WordUtils实例。   相反,该类应该用作WordUtils.wrap(“foo bar”,20);。

     

此构造函数是公共的,允许需要 JavaBean 的工具   操作的实例

您可以进一步注意到该类的所有公共方法都是静态,没有实例方法。 构造函数就是遵守JavaBean标准。

在创建所谓的“utility”类时,您会注意到通常不需要状态,因此类只有静态方法。

答案 2 :(得分:0)

因为所有方法都是静态的,所以实例化类没有任何好处。