Video: Android 101 by Fred Widjaja 2025
Du kan angi tilgang for felt og metoder i Android-appen din. En Java-klasse kan ha enten offentlig tilgang eller ikke-offentlig (standard) tilgang. Men et medlem av en klasse har fire muligheter: offentlig, privat, standard og beskyttet.
En klasses felt og metoder er klassens medlemmer.
Slik fungerer medlemstilgang:
- Et standardmedlem i en klasse (et medlem hvis erklæring ikke inneholder ordene
offentlig
,privat
ellerbeskyttet
) kan brukes av en hvilken som helst kode i samme pakke som den aktuelle klassen. - Et privat medlem av en klasse kan ikke brukes i noen kode utenfor klassen.
- Et offentlig medlem av en klasse kan brukes hvor klassen selv kan brukes; det vil si:
- Ethvert program i en pakke kan referere til et offentlig medlem av en offentlig klasse.
- For et program som refererer til et offentlig medlem av en standard tilgangsklasse, må programmet være inne i samme pakke som klassen.
For å se disse reglene i akt, sjekk ut den offentlige klassen i denne koden.
pakke com. allyourcode. bank;
offentlig klassekonto {
offentlig String customerName;
privat int internIdNumber;
Strengadresse;
String-telefon;
offentlig int socialSecurityNumber;
int accountType;
dobbeltbalanse;
offentlig statisk int findById (int internalIdNumber) {
Konto foundAccount = ny konto ();
// Kode for å finne kontoen går her.
return foundAccount. internalIdNumber;
}
}
Koden bruker klassen
Konto
og dens felter.
La oss se hva som skjer med en annen pakke.
Feilmeldingene peker på noen problemer med koden. Her er en liste over fakta om disse to kodene:
- The
UseAccoun
t-klassen er i samme pakke som klassenKonto
. - Klassen
UseAccount
kan opprette en variabel av typenKonto
. - Klassen
UseAccount
klassen kan referere til det offentligekundenavn
-feltet i klassenKonto
og til standardverdienadresse
ikonto
klasse. - Klassen
UseAccount
kan ikke henvise til det privateinternalIdNumber
-feltet i klassenKonto
, selv omUseAccount
ogKonto
er i samme pakke. - Klassen
UseAccountFromOutside
er ikke i samme pakke som klassenKonto
. - Klassen
UseAccountFromOutside
kan opprette en variabel av typenKonto
. (Enimport
-deklarasjon holder deg fra å måtte gjenta den fullt kvalifiserteno. Allyourcode. Bank. Konto
navn overalt i koden.) - The
UseAccountFromOutside
Klassens kode kan referere til det offentligekundenavn
-feltet i klassenKonto
. - Klassen
BrukekontoFromOutside
-koden kan ikke henvise til standardadresse
-feltet i klassenKonto
eller til det privateinterneIdNummer
-feltet ikonto
klasse.
Nå undersøke den ikke-offentlige klassen i denne koden.
pakke com. allyourcode. spill;
klasse Sprite {
offentlig Strenge navn;
Strengebilde;
dobbeltavstandFromLeftEdge, avstandFromTop;
dobbelt bevegelseAcross, motionDown;
privat int renderingValue;
}
}
}
Koden bruker
Sprite ()
}
hvis (renderingValue == 2)
klasse og dens felter.
Henvisning til en standard tilgangsklasse i samme pakke.
Henvisning til en standard tilgangsklasse i en annen pakke.
Klassen
- UseSprite
er i samme pakke som klassen
Sprite.
Klassen - UseSprite
kan lage en variabel av typen
Sprite.
Klassen - UseSprite
-koden kan referere til det offentlige
navnet-feltet i klassen
Spriteog til standardfeltet
distanceFromTopi
spriteclass.
Klassen - UseSprite
kan ikke referere til det private
renderingValue-feltet i klassen
Sprite, selv om
UseSpriteog
Spriteer i samme pakke.
Klassen - UseSpriteFromOutside
er ikke i samme pakke som klassen
Sprite.
Klassen - UseSpriteFromOutside
kan ikke opprette en variabel av typen
Sprite. (Ikke en
import-deklarasjon kan lagre deg fra en feilmelding her.)
Inne i - UseAccountFromOutside
-kategorien, refererer til
sprite. navn, sprite. distanceFromTopog
sprite. renderingValueer alle meningsløse fordi variabelen
spriteikke har en type.
