Junior — Middle
Ist eine innere Klasse in Java für den Zugriff aus anderen Klassen privat?
sobes.tech KI
Antwort von AI
Eine innere Klasse in Java muss nicht unbedingt privat sein, um von anderen Klassen aus zugänglich zu sein. Der Zugriff auf die innere Klasse hängt vom Zugriffsmodifikator ab, der ihr zugewiesen ist (private, protected, public oder package-private). Zum Beispiel, wenn die innere Klasse als private deklariert ist, ist sie nur innerhalb der äußeren Klasse zugänglich. Wenn sie als public oder ohne Modifikator (package-private) deklariert ist, ist sie auch aus anderen Klassen im selben Paket oder durch Import zugänglich.
Beispiel:
public class Outer {
private class InnerPrivate {}
public class InnerPublic {}
}
// Aus einer anderen Klasse im selben Paket:
Outer.InnerPublic obj = new Outer().new InnerPublic(); // Zugriff erlaubt
// Outer.InnerPrivate obj2 = new Outer().new InnerPrivate(); // Kompilierungsfehler