我在浏览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"类时,您会注意到通常不需要状态,因此类只有静态方法。
因为所有方法都是静态的,所以实例化类没有任何好处。