få Tilgang nivå modifikatorer finne ut om andre klasser kan bruke et bestemt felt eller bruke en bestemt metode. Det er to nivåer av access control:
- På øverste nivå
public
, eller du kan pakke-privat (ingen eksplisitt modifier). - På-medlem nivå
public
,private
,protected
, eller du kan pakke-privat (ingen eksplisitt modifier).,
En klasse kan bli erklært med modifier public
i tilfelle at klasse er synlig for alle klasser overalt. Hvis en klasse har ingen spesialtaster (standard, også kjent som pakke-privat), det er kun synlig innenfor sin egen pakke (pakker er navngitte grupper av relaterte klasser du vil lære om dem i en senere leksjon.)
På nivå medlem, kan du også bruke public
modifier eller ingen spesialtaster (pakke-privat) akkurat som med topp-nivå klasser, og med samme betydning., For medlemmer er det to ekstra tilgang modifikatorer: private
og protected
. private
modifikator angir at medlemmet kan bare være tilgjengelig i sin egen klasse. protected
modifikator angir at medlemmet kan bare nås innen sin egen pakke (som med pakke-privat) og, i tillegg, ved en underklassen i sin klasse i en annen pakke.
følgende tabell viser tilgang til medlemmer tillatt ved hver modifier.,Modifier
public
protected
private
The first data column indicates whether the class itself has access to the member defined by the access level., Som du kan se, en klasse som alltid har tilgang til sine egne medlemmer. Den andre kolonnen viser om klasser i samme pakke som klasse (uavhengig av deres foreldre) har tilgang til medlem. Den tredje kolonnen viser om underklasser av klasse erklært utenfor denne pakken har tilgang til medlem. Den fjerde kolonnen angir om alle klasser har tilgang til medlem.
få Tilgang til nivåer påvirke deg på to måter., For det første, når du bruker klasser som kommer fra en annen kilde, for eksempel klassene i Java-plattform, tilgang nivåene bestemmer hvilke medlemmer av disse klassene dine egne klasser kan bruke. For det andre, når du skriver en klasse, må du bestemme hvilken tilgang nivå ethvert medlem variabel og hver metode i klassen din skal ha.
La oss se på en samling av klasser og se hvordan tilgang nivåer påvirke synlighet. Følgende figur viser de fire klasser i dette eksemplet, og hvordan de er i slekt.,
Klasser og Pakker for Eksempel Brukes til å Illustrere Tilgang Nivåer
følgende tabell viser hvor medlemmer av Alfa klasse er synlig for hvert av tilgang modifikatorer som kan anvendes til dem.,ha
public
protected
private
If other programmers use your class, you want to ensure that errors from misuse cannot happen., Tilgang nivåer kan hjelpe deg å gjøre dette.
- Bruk de mest restriktive tilgang nivå som gir mening for et bestemt medlem. Bruk
private
med mindre du har en god grunn til ikke å gjøre det. - Unngå
public
feltene unntatt for konstanter. (Mange av eksemplene i veiledningen bruker offentlige felt. Dette kan bidra til å illustrere noen poenger presist, men er ikke anbefalt for produksjon kode.) Offentlige felt har en tendens til å knytte deg til en bestemt implementering og begrense fleksibilitet i endring av koden din.