2013-05-29 3 views
0

Я получил часть кода в java, где класс содержит только статические методы, но сам класс не объявлен как статический. Я просто хочу знать, когда потребуется такой дизайн.Назначение класса со всеми статическими методами

+3

Это, вероятно, класс полезности. Не нужно создавать экземпляры, просто кучу статических методов. – maba

+1

Только вложенные классы могут быть объявлены статическими. И это не значит, что у них нет нестационарного метода. –

+1

Одним из таких примеров является класс [Math] (http://docs.oracle.com/javase/6/docs/api/java/lang/Math.html). – NINCOMPOOP

ответ

5

Эта идиома называется класс а Utility. Это просто место, где можно поставить функции, которые естественно не принадлежат ни одному классу, или исключаются из динамической отправки по любой другой причине. В JDK есть несколько примеров, таких как Math, Collections и Arrays.

Вы также, кажется, смущены о семантике static class. Это не имеет никакого отношения к тому, как работает класс (это просто обычный класс); он связан с отношением статического класса к его классу и фактически указывает, что класс не имеет к нему никакой специфической связи, кроме области охвата, в отличие от нестатического (внутренний) класса, который должен быть экземпляр с включенным экземпляром.

0

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

Это главная цель статических методов ...

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