2014-01-18 4 views
7

Глядя на ArrayUtils класс от Apache Commons, док говорит:Почему бы не создать частный конструктор args?

ArrayUtils() 

ArrayUtils случаи не должны быть построены в стандартном программирования.

Я смотрел на source code этого класса, и я увидел, что они сделали конструктор общественности:

public ArrayUtils() { 
    super(); 
} 

Поскольку все методы/поля класса являются статическими, я понимаю, что ДАЕТ НИКАКИХ чтобы создать экземпляр этого класса.

Так почему же они не сделали конструктор private, как в классе Math, чтобы избежать создания новых экземпляров?

+9

Интересно, что строка чуть ниже текста, который вы цитируете, говорит: «Этот конструктор является общедоступным, чтобы разрешить использование инструментов, для которых требуется экземпляр JavaBean». – fvu

+1

@fvu Wow! Я посмотрел только на резюме конструктора! Не смотря на это! – user2336315

+1

На самом деле смешно видеть вопрос, который содержит ссылку на свой собственный ответ, получает преимущество и снимается ... – fvu

ответ

10

The documentation говорит:

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

+0

Я был * секунды * от публикации этой же вещи. – Makoto

+4

Тем не менее, остается открытым вопрос, что вы будете делать с таким экземпляром компонента. – Henry

+0

Эй, вы никогда не знаете, когда вам нужно будет сериализовать его отсутствие данных. ;) – yshavit

Смежные вопросы