Ist der "package private" -Mitgliedszugriff nicht auch auf den Standardzugriff (no-modifier) möglich?
Ich bin ein wenig verwirrt über den Begriff "package private", dass einige der in der Dokumentation verwendet, zusammen mit der Verwendung von "Standard-Zugang." Nicht Paket private und default access sowohl ein Synonym für geschützt?
InformationsquelleAutor der Frage TurtleToes | 2011-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, es ist fast die gleiche. Der protected Modifizierer gibt an, dass die Mitglied-Zugriff nur innerhalb des eigenen Pakets (package-private) und, zusätzlichindem Sie eine Unterklasse der Klasse in ein anderes Paket.
InformationsquelleAutor der Antwort Luciano Fiandesio
Den "default" access modifier (dort, wo, keiner von Ihnen sind explizit gegeben) "package-private", was bedeutet, dass nur Dinge, die sich im gleichen Paket können auf Sie zugreifen. Allerdings wird in der gleichen Verpackung sagt nichts über die Vererbung Beziehungen zwischen Klassen-es ist lediglich eine Namenskonvention.
"Geschützt" bedeutet, dass nicht nur Klassen im gleichen Paket, aber auch Unterklassen (egal, welches Paket diese Unterklassen werden in der Lage sein, darauf zuzugreifen.
InformationsquelleAutor der Antwort Adrian Petrescu
Den Standard-Zugang für Klassen ist package-private, jedoch ist der Standard-Zugang für Schnittstelle Mitglieder öffentlich ist.
z.B.
Den Standard-Regeln für den Zugang zu Schnittstellen sind nicht das gleiche wie für Klassen.
InformationsquelleAutor der Antwort Peter Lawrey
Package-private und default access sind Synonyme. Ein Objekt auch Zugriff auf die geschützten member der Objekte, deren Klassen im gleichen Paket. Ein Objekt kann auch für den Zugriff auf geschützte Mitglied Ihrer Oberklassen ohne Bedingung über Ihr Paket. Als konkretes Beispiel :
InformationsquelleAutor der Antwort Gursel Koca
'Package private" und default access sind die gleichen. In frühen Versionen des Compilers rund 1.1.2/3, 'Paket' war ein modifier erlaubt, werden aber ignoriert, bedeutet das gleiche wie kein Modifikator, D. H. 'package private". Kurz darauf gab es eine kurzlebige Mode für die Umsetzung
/*package*/
(als Kommentar) in solchen Situationen. Ähnlich damals konnte man erklären, Dinge wie synchronisiert Klassen, obwohl wieder gab es keine wirkliche semantische Wirkung.Keiner von Ihnen ist das gleiche wie "Naturschutz", die sich auf die von abgeleiteten Klassen in anderen Paketen.
InformationsquelleAutor der Antwort user207421
Vom Java Language Spec
InformationsquelleAutor der Antwort Dead Programmer
Standard und - Paket-private - beide sind gleich, was bedeutet, beide können verwendet werden, von einer Klasse, bis Sie im gleichen Paket.
Den - Paket-private - Begriff eigentlich bezeichnet wird durch die Bedeutung, die der private Modifizierer wie private bedeutet, es ist nur verfügbar in der gleichen Klasse und keine anderen Klassen oder Unterklassen darauf zugreifen können, innerhalb desselben Pakets oder ohne.
Daher - Paket-private - bedeutet dasselbe wie Standard.
InformationsquelleAutor der Antwort aayush shah