Из каких элементов состоит объявление (верхняя часть) класса в Java?

«Из каких элементов состоит объявление (верхняя часть) класса в Java?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Объявление класса в Java, также называемое его «шапкой», следует определенному порядку элементов. Это строгая последовательность, которую компилятор и разработчики ожидают видеть.

Канонический порядок элементов сверху вниз:

  1. Документирующий комментарий (Javadoc) (опционально, но рекомендуется).

    /**
     * Этот класс представляет собой модель пользователя.
     * @author Team
     */
  2. Аннотации класса (опционально).

    @Entity
    @Table(name = "users")
    @AllArgsConstructor // Lombok
  3. Модификаторы доступа и объявление класса.

    • Модификаторы доступа: public, protected, private или package-private (по умолчанию).
    • Модификаторы класса: abstract, final, sealed (в новых версиях).
    • Ключевое слово class (или interface, enum, record).
    • Имя класса.
    • Объявление обобщенного типа (<T>).
    • Ключевое слово extends и имя родительского класса (если есть).
    • Ключевое слово implements и список интерфейсов через запятую (если есть).

Полный пример:

package com.example.model;

import javax.persistence.*;
import lombok.Data;

/**
 * Represents a system user.
 */
@Entity
@Table(name = "app_users")
@Data // Lombok аннотация
public final class User extends BaseEntity implements Serializable, Comparable<User> {
    // Тело класса: поля, конструкторы, методы
}

Почему важен порядок? Соблюдение соглашений (например, из Google Java Style Guide) повышает читаемость кода и облегчает его поддержку командой. IDE обычно помогают автоматически форматировать код согласно этим правилам.