TGViewer
Java Developer Java Developer @java_tg · 14.8K subscribers
Post #2237 3.6K
👩‍💻 Статические и нестатические вложенные классы

Вложенные классы в Java помогают структурировать код, но выбор между статическим и нестатическим может поставить в тупик. Когда лучше использовать один, а когда другой? Разберёмся на примерах.

Допустим, у нас есть Order — класс для работы с заказами. У каждого заказа есть статусы, например, «Создан», «Оплачен», «Отправлен».

Статусы удобно оформить как статический вложенный класс:
public class Order {
public static class Status {
public static final String CREATED = "Created";
}
}

// Использование:
String status = Order.Status.CREATED;

Почему статический? Потому что Status — это утилитарный класс. Он хранит данные, которые одинаковы для всех заказов, и не связан с конкретным экземпляром Order.


А теперь рассмотрим пример с нестатическим классом. Пусть Order имеет вложенный класс Item, представляющий товар в заказе:
public class Order {
public class Item {
public Item(String name) { /* логика */ }
}
}

// Использование:
Order.Item item = new Order().new Item("Laptop");

Здесь Item нужен для описания товаров в конкретном заказе, поэтому он привязан к экземпляру Order.


Подытожим: статический вложенный класс удобен для универсальных данных, а нестатический — для работы с данными конкретного объекта.

❤️ — если было полезно

📱 Java Developer | #обучение
  • ❤ 25
  • 👍 4
More from @java_tg
  1. Oct 6, 2026Post #4392
  2. Oct 6, 2026🤺 Почему ты получаешь отказ после «норм собеса»? Дело не в знаниях — ты просто не знаешь,…
  3. Oct 6, 2026👩‍💻 Что реально спрашивают на Java-собеседованиях Разбор 247 интервью: HashMap, equals/h…
  4. Oct 5, 2026Post #4389
  5. Oct 5, 2026Очнись, нас готовят к цифровому ГУЛАГу Уже в десятках регионов России отключают мобильный…
  6. Oct 5, 2026👩‍💻 Реальные сервисы прямо внутри Java-тестов Вместо моков и локально поднятой базы Test…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →