为什么WordUtil实例是个坏主意



我在浏览Apache Commons java文档时发现了以下内容:

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

为什么?

我是一个新手程序员,所以也许是"标准"部分让我绊倒了。。。

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

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

WordUtils.doSomething();

无需创建实例:

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

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

如果所有这些static的东西都没有意义,请尝试有关该主题的Java教程。

正如构造函数的javadoc所提到的:

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

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

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

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

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

最新更新