> For the complete documentation index, see [llms.txt](https://comaqa.gitbook.io/java-automation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://comaqa.gitbook.io/java-automation/stil-napisaniya-koda/obyavlenie-klassov-i-interfeisov.md).

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

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

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

Отступы

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