# Объявление классов и интерфейсов

Приведенная ниже таблица описывает объявление части класса или интерфейса в порядке их появления.

|   | объявление части класса / интерфейса                                    | примечания                                                                                                                                                                                                                             |
| - | ----------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | Документирующие комментарии класса/интерфейса (/\*\*...\*/)             | См. раздел про документирующие комментарии                                                                                                                                                                                             |
| 2 | Операторы class или interface                                           | Объявление класса / интерфейса                                                                                                                                                                                                         |
| 3 | Комментарии о реализации класса/интерфейса (/\*...\*/), если необходимо | Эти комментарии должны содержать расширенную информацию о классе/интерфейсе, которая не относится к комментариям документации класса/интерфейса                                                                                        |
| 4 | Статические переменные класса                                           | Сначала public переменные класса, затем protected, затем пакетные (без спецификатора доступа) и затем private.                                                                                                                         |
| 5 | Не статические переменные                                               | Сначала public, затем protected, затем пакетные (без спецификатора доступа) и затем private.                                                                                                                                           |
| 6 | Конструкторы                                                            | Все конструкторы данного класса                                                                                                                                                                                                        |
| 7 | Методы                                                                  | Эти методы должны группироваться больше по функциональности, чем по области видимости или доступности. Например, private метод класса может быть между двумя случайными public методами. Цель – сделать чтение и понимание кода проще. |

Отступы

Один отступ должен содержать четыре пробела.
