2017-02-09 3 views
0

Wenn Ihre Klasse in Java als privat deklariert ist, können öffentliche Variablen im Code enthalten sein? Wären andere Klassen in der Lage, darauf zuzugreifen?Java möglich, um private Klassen- und öffentliche Variablen zu haben?

+6

Haben Sie darüber nachgedacht, es einfach auszuprobieren? Es ist nicht so viel Aufwand, 3 Klassen zu programmieren und die Effekte zu beobachten. – Paul

+0

Wahrscheinlich verwandt: http://stackoverflow.com/questions/6264657/why-make-private-inner-class-member-public-in-java, jedoch sollten Sie keine öffentlichen Variablen haben, sondern öffentliche Methoden, um auf sie zuzugreifen (dh 'Getters' &' Setters') – Frakcool

+0

Ja, es ist möglich. Ob es hilfreich/nützlich/anwendbar ist, hängt davon ab, was Sie versuchen zu tun. (Hinweis: Top-Level-Klassen ** kann nicht ** privat sein!) –

Antwort

2

Ja, es ist möglich, public Zugriffsmodifikator für ein Feld in Java anzugeben, unabhängig vom Zugriffsmodifizierer seiner Containerklasse.

Per Definition public Zugriffsmodifikator hat den größten Umfang. Solange Sie auf Ihre private Klasse zugreifen können, können Sie auf öffentliche Felder innerhalb dieser Klasse zugreifen. Was in diesem Fall in den Zuständigkeitsbereich der Eltern Ihrer privaten Klasse fällt.

+0

Zweite Hälfte der Frage: "Können andere Klassen darauf zugreifen?" –

+0

Danke. aktualisiert. –

Verwandte Themen