Junior — Middle
Is een interne klasse in Java privé voor toegang vanuit andere klassen?
sobes.tech AI
Antwoord van AI
Een interne klasse in Java hoeft niet per se privé te zijn om toegankelijk te zijn vanuit andere klassen. Toegang tot de interne klasse hangt af van de toegangsmodifier die eraan is toegewezen (private, protected, public of package-private). Bijvoorbeeld, als de interne klasse als private is gedeclareerd, is deze alleen binnen de externe klasse toegankelijk. Als deze als public of zonder modifier (package-private) is gedeclareerd, kan deze ook toegankelijk zijn vanuit andere klassen in hetzelfde pakket of via import.
Voorbeeld:
public class Outer {
private class InnerPrivate {}
public class InnerPublic {}
}
// Vanuit een andere klasse in hetzelfde pakket:
Outer.InnerPublic obj = new Outer().new InnerPublic(); // toegang toegestaan
// Outer.InnerPrivate obj2 = new Outer().new InnerPrivate(); // compilatiefout