Почему экземпляры WordUtil - плохая идея? - PullRequest
1 голос
/ 04 марта 2012

Я копался в java-документах Apache Commons, когда нашел this :

Экземпляры WordUtils НЕ должны создаваться в стандартном программировании.

Почему?

Я начинающий программист, так что, возможно, это "стандартный" бит, который сбивает меня с толку ...

Ответы [ 3 ]

3 голосов
/ 04 марта 2012

WordUtils - статический служебный класс.Он предоставляет набор статических методов, каждый из которых выполняет полезную задачу, но нет необходимости когда-либо создавать экземпляр WordUtils, потому что класс не хранит состояние.

Вы можете вызывать staticметоды непосредственно в классе:

WordUtils.doSomething();

Нет необходимости создавать экземпляр:

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

Хотя это будет работать , создавая объект WordUtils (используяnew) бессмысленно.

Если все эти вещи static не имеют смысла, попробуйте Java Tutorial по теме.

1 голос
/ 04 марта 2012

Как упоминается в javadoc для конструктора:

Экземпляры WordUtils НЕ должны создаваться в стандартном программировании.Вместо этого класс должен использоваться как WordUtils.wrap ("foo bar", 20);.

Этот конструктор является общедоступным, чтобы разрешить инструментам, для работы которых требуется экземпляр JavaBean .

Вы также можете заметить, что все открытые методы класса static , методов экземпляра нет.Конструктор только для того, чтобы придерживаться стандарта JavaBean .

При создании так называемых "служебных" классов вы заметите, что обычно нет необходимости всостояние, и, следовательно, классы имеют только статические методы.

0 голосов
/ 04 марта 2012

Поскольку все методы являются статическими, создание экземпляра класса не дает никаких преимуществ.

...