Освоюємо Java/Вкладені, внутрішні класи
Зовнішній вигляд
Вкладеним класом (англ. nested) в Java називається клас, визначений в середині іншого класу. Вкладені класи діляться на дві категорії: нестатичні і статичні. Нестатичні вкладені класи називаються внутрішніми (англ. inner). Вкладені класи, що оголошені статичними називаються статичними вкладеними класами.[1]
Внутрішні класи
[ред.]Використання внутрішніх класів дає наступне:
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
(необхідно розширити)
Примітки
[ред.]- ↑ https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html Nested Classes // Офіційна Java документація Oracle