Hem Personliga finanser Programmering med Java: Tillgång till fält och metoder i din Android App - dummies

Programmering med Java: Tillgång till fält och metoder i din Android App - dummies

Video: Android 101 by Fred Widjaja 2024

Video: Android 101 by Fred Widjaja 2024
Anonim

Du kan ange åtkomst för fält och metoder i din Android-app. En Java-klass kan ha antingen allmän åtkomst eller icke-offentlig (standard) åtkomst. Men en medlem i en klass har fyra möjligheter: offentlig, privat, standard och skyddad.

En klasss fält och metoder är klassens medlemmar.

Så här fungerar medlemstillträde:

  • En standardmedlem i en klass (en medlem vars deklaration inte innehåller orden offentlig , privat eller skyddad ) kan användas av någon kod i samma paket som den klassen.
  • En privat medlem i en klass kan inte användas i någon kod utanför klassen.
  • En allmän medlem i en klass kan användas varhelst klassen själv kan användas. det vill säga:
    • Alla program i vilket paket som helst kan referera till en allmän medlem i en offentlig klass.
    • För ett program som refererar till en allmän medlem av en standardåtkomstklass måste programmet vara inuti samma paket som klassen.

För att se dessa regler i åtgärd, kolla in den offentliga klassen i den här koden.

paket com. allyourcode. Bank;

offentliga klasskonto {

offentliga String customerName;

privat int internIdNumber;

Strängadress;

String-telefon;

offentliga int socialSecurityNumber;

int kontoType;

dubbelbalans;

public static int findById (int internalIdNumber) {

Konto foundAccount = nytt konto ();

// Kod för att hitta kontot går här.

returnera foundAccount. internalIdNumber;

}

}

Koden använder klassen Konto och dess fält.

Hänvisar till en allmän klass i samma paket.

Låt oss se vad som händer med ett annat paket.

Med hänvisning till en offentlig klass i ett annat paket.

Felmeddelandena pekar på några problem med koden. Här är en lista över fakta om dessa två kodstycken:

  • UseAccoun t-klassen finns i samma paket som klassen Konto .
  • Klassen UseAccount kan skapa en variabel av typen Konto .
  • Klassen UseAccount kan hänvisa till det offentliga fältet kundnamn i klassen Konto och till standardfältet adress i konto klassen.
  • Klassen UseAccount kan inte referera till det privata internalIdNumber -fältet i klassen Konto , trots att AnvändAccount och Konto finns i samma paket.
  • Klassen UseAccountFromOutside finns inte i samma paket som klassen Konto .
  • Klassen UseAccountFromOutside kan skapa en variabel av typen Konto . (En import -deklaration hindrar dig från att behöva upprepa det fullständigt kvalificerade com.allyourcode. Bank. Konto namn överallt i koden.)
  • The UseAccountFromOutside klassens kod kan referera till det offentliga kundnamn fältet i klassen Konto .
  • Klassen UseAccountFromOutside klassens kod kan inte referera till fältet adress i klassen Konto eller till det privata internalIdNumber fältet i konto klassen.

Kontrollera nu den icke-offentliga klassen i den här koden.

paket com. allyourcode. spel;

klass Sprite {

public strängnamn;

Strängbild;

dubbelavståndFromLeftEdge, avståndFromTop;

dubbelrörelseAcross, motionDown;

privat int renderingValue;

void render () {

om (renderingValue == 2) {

// Gör saker här

}

}

}

Koden använder Sprite klass och dess fält.

Hänvisar till en standardåtkomstklass i samma paket.

Låt oss se vad som händer med ett annat paket.

Med hänvisning till en standardåtkomstklass i en annan paket.

Felmeddelandena i dessa bilder pekar på några problem med koden. Här är en lista över fakta om dessa två kodstycken:

  • Klassen UseSprite finns i samma paket som klassen Sprite .
  • Klassen UseSprite kan skapa en variabel av typen Sprite .
  • Klassen UseSprite kan hänvisa till det allmänna fältet namn i klassen Sprite och till standardfältet distanceFromTop Sprite klassen.
  • Klassen UseSprite kan inte referera till det privata renderingValue -fältet i klassen Sprite , trots att UseSprite och Sprite finns i samma paket.
  • Klassen UseSpriteFromOutside finns inte i samma paket som klassen Sprite .
  • Klassen UseSpriteFromOutside kan inte skapa en variabel av typen Sprite . (Inte ens en import deklaration kan spara dig från ett felmeddelande här.)
  • Inne i klassen UseAccountFromOutside hänvisas till sprite. namn, sprite. distanceFromTop och sprite. renderingValue är meningslösa eftersom variabeln sprite inte har någon typ.
Programmering med Java: Tillgång till fält och metoder i din Android App - dummies

Redaktörens val

Hur man redigerar bilder i Redigera snabbläge för Photoshop Elements 9 - dummies

Hur man redigerar bilder i Redigera snabbläge för Photoshop Elements 9 - dummies

I Photoshop Element, Redigera Snabbt läge är en uppskattad version av Redigera fullt läge som ger grundläggande fixverktyg tillsammans med några unika funktioner, till exempel en förhandsgranskning av bilden. Här är ett steg för steg arbetsflöde som du kan följa i Redigera snabbläge för att reparera dina foton: Välj ett eller flera foton i ...

Hur man redigerar i Photoshop Elements 10: s Snabb Fotoredigeringsläge - dummies

Hur man redigerar i Photoshop Elements 10: s Snabb Fotoredigeringsläge - dummies

Snabb Fotoredigering är en uppskattad version av Full Photo Edit-läge som bekvämt ger grundläggande fixeringsverktyg och kastar i några unika egenskaper, till exempel en förhandsgranskning av bilden. Här är ett steg för steg arbetsflöde som du kan följa i Quick Photo Edit-läget för att reparera dina foton:

Hur man förbättrar Photoshop Elements-bilder med Photo Effects - dummies

Hur man förbättrar Photoshop Elements-bilder med Photo Effects - dummies

Fotoeffekter i Photoshop Elements 11 fungerar som applicera filter; medan dialogrutan Filtreringsgalleri ger dig många alternativ för att tillämpa ett filter, ger den guidade panelen dig filtereffekter och tar dig genom steg för att justera ljusstyrka, ändra färgton och mättnad och göra andra justeringar för att perfekta resultatet. Du ...

Redaktörens val

Hur man tar bort bilder från din Canon EOS 7D Mark II - dummies

Hur man tar bort bilder från din Canon EOS 7D Mark II - dummies

När du granskar en bild, bestämmer du om det är en målvakt. Om du tittar på en bild på din Canon EOS 7D Mark II, gillar du inte bilden av någon anledning kan du radera det. Men borttagning av bilder måste ske med stor försiktighet eftersom uppgiften inte kan ångras. När du har raderat en ...

Hur man redigerar filmer på en Canon EOS 60D - dummies

Hur man redigerar filmer på en Canon EOS 60D - dummies

60D Edit-funktionen gör det härligt enkelt för att ta bort oönskade delar från början eller slutet av en film direkt på din kamera. Denna ombordredigering är praktisk men grundläggande, så förvänta dig inte mirakel. Här är de enkla stegen för att trimma början eller slutet på en film: Klicka på ikonen Redigera (det ser ut ...

Redaktörens val

Hur man arbetar med text i ett Word 2010-tabell - dummies

Hur man arbetar med text i ett Word 2010-tabell - dummies

Text hinner i ett bord i Word 2010 på en cell-vid-cell basis. Varje cell i ett Word-bord kan ha ett eget styckeformat och en egen uppsättning flikar. Grupper av celler, rader och kolumner och hela tabellen kan väljas och formateras samtidigt, om du vill. All standardtext ...

Hur man arbetar med Word 2010: s decimala flik - dummies

Hur man arbetar med Word 2010: s decimala flik - dummies

Du kan använda decimalfliken i Word 2010 till rad upp kolumner av siffror. Även om du kan använda en rätt flik för att göra detta jobb är decimalfliken ett bättre val. I stället för högerjusterad text, som den högra fliken gör, justerar decimalfliken siffror efter deras decimaldel - perioden i ...

Hur man arbetar med flera Word 2010-dokument på samma gång - dummies

Hur man arbetar med flera Word 2010-dokument på samma gång - dummies

O saker Word 2010 kan göra med dokument! Du kan öppna flera Word-dokument samtidigt och arbeta på mycket av dem, växla mellan de olika öppna dokumenten. Öppnar flera Word-dokument samtidigt Det är inte en fråga om hur Word kan fungera på mer än ett dokument åt gången. Nej, ...