Вкладеним класом (англ. nested) в Java називається клас, визначений в середині іншого класу. Вкладені класи діляться на дві категорії: нестатичні і статичні. Нестатичні вкладені класи називаються внутрішніми (англ. inner). Вкладені класи, що оголошені статичними називаються статичними вкладеними класами.https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html Nested Classes // Офіційна Java документація Oracle

Внутрішні класи Використання внутрішніх класів дає наступне:

1. Внутрішній клас можна заховати від інших класів цього ж пакету

2. Об’єкт внутрішнього класу має доступ до даних об’єкта, в якому він визначений, включно із закритими даними.

Допустимо маємо OuterClass, який в середині має InnerClass. InnerClass має доступ до полів зовнішнього класу: public class OuterClass { int x=10; OuterClass(){ InnerClass inner=new InnerClass(); inner.print();

public class InnerClass{ int y =7; void print() { System.out.println("sum="+(x+y)); //x оголошено у зовнішньому класі

Тестовий клас: public class TestOuterClass { public static void main(String[] args) { OuterClass outer = new OuterClass();

Результат: sum=17

(необхідно розширити)

Примітки