Junior — Middle
Kan een afgeleide klasse toegang krijgen tot een private statische methode van de basisklasse?
sobes.tech AI
Antwoord van AI
In Java zijn private (private) methoden, inclusief statische, alleen toegankelijk binnen de klasse waarin ze zijn gedeclareerd. Dit betekent dat een afgeleide klasse niet rechtstreeks toegang kan krijgen tot een private statische methode van de basisklasse. Zelfs overerving geeft geen toegang tot de private leden van de basisklasse.
Als je wilt dat de afgeleide klasse de methode van de basisklasse kan gebruiken, moet deze worden gedeclareerd met toegangsniveau protected of public.
Voorbeeld:
class Base {
private static void privateStaticMethod() {
System.out.println("Private statische methode van de basisklasse");
}
protected static void protectedStaticMethod() {
System.out.println("Beschermde statische methode van de basisklasse");
}
}
class Derived extends Base {
void test() {
// privateStaticMethod(); // Compileerfout
protectedStaticMethod(); // Werkt
}
}