Warum kann auf das private Member einer geschachtelten Klasse mit den Methoden der einschließenden Klasse zugegriffen werden? [Duplikat]

8

Kann mir jemand etwas über die Zugriffsebene des privaten Mitglieds erzählen? Ich bin ziemlich lange mit diesem Stückcode verwechselt worden: Warum kann man auf das private Mitglied k der Line-Klasse in der "print" -Methode der äußeren Klasse zugreifen?

%Vor%     
JoJo 02.11.2013, 22:53
quelle

1 Antwort

22

Die Regeln finden Sie im JLS-Kapitel zur Barrierefreiheit

  

Andernfalls, wenn das Mitglied oder der Konstruktor private deklariert ist, dann   Zugang ist nur dann erlaubt, wenn er innerhalb des Körpers der   Top-Level-Klasse (§7.6), die die Deklaration des Members oder enthält   Konstruktor.

Hier wird das Memberfeld k in der Klasse Line deklariert. Wenn Sie in der Methode print darauf zugreifen, greifen Sie innerhalb des Hauptteils der obersten Klasse, die die Deklaration dieses Elements einschließt, auf zu.

Das Kapitel über die obersten Klassen ist hier .

    
Sotirios Delimanolis 02.11.2013, 22:56
quelle

Tags und Links