Skip to main content

Вложени Класове - Разширено Разбиране

Вложени член класове. Локални Класове. Анонимни Класове

Въведение във Вложени Класове

Java позволява декларацията на класове в рамките на други класове, които се наричат вложени класове. Те могат да бъдат статични и нестатични, като всеки тип има своите особености и приложения.

Вложени Нестатични Член Класове (Non-Static Inner Classes)

Тези класове са тясно свързани с външния клас и имат достъп до неговите член данни и методи. Те могат да бъдат декларирани с различни модификатори за достъп и се инстанцират чрез обект на външния клас.

Пример:

public class Mobile {
public int numberOfDoors;
public String brand;

class MobileEngine {
private float power;

public MobileEngine(float power) {
this.power = power;
}
}
}

Статични Вложени Класове (Static Inner Classes)

Те функционират подобно на обикновените класове и могат да достъпват само статичните членове на външния клас. Те се инстанцират без да е необходим обект на външния клас.

Пример:

public class Example {
static class StaticNestedClass {
// ...
}
}

Локални Класове (Local Classes)

Дефинират се в рамките на блок (например, метод). Техният обхват е ограничен до блока, в който са декларирани.

Пример:

public class OuterClass {
public void method() {
class LocalClass {
// ...
}
}
}

Анонимни Класове (Anonymous Classes)

Това са вложени класове без име, често се използват за създаване на еднократни имплементации на интерфейси или подкласове.

Пример:

Printable printable = new Printable() {
@Override
public void print() {
System.out.println("Анонимен клас.");
}
};

Заключение

Вложените класове в Java предоставят гъвкавост и помагат за по-добра организация на кода, като позволяват групиране на класове с тясно свързани функционалности.