Video: Como usar Dagger2 Ejemplo Sencillo - Inyeccion de Dependencias 07 2025
Det er et par ting du vil tenke på når du bruker navn på Android-appen din. Du kan deklarere to Java-variabler -
bag1
og
bag2
- for å referere til to forskjellige
BagOfCheese
objekter. Det er greit. Men noen ganger har bare en variabel og gjenbruk av den for det andre objektet like bra som vist her.
pakke com. allmycode. a09_03;
import android. Brukerstøtte. v7. app. AppCompatActivity;
importer android. os. Bunt;
importer android. widget. TextView;
import com. allmycode. a09_01. BagOfCheese;
offentlig klasse MainActivity utvider AppCompatActivity {
TextView textView;
@Override
beskyttet tomt påKjøre (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (R. Layout. Activity_main);
textView = (TextView) findViewById (R. Id. TextView);
BagOfCheese bag = ny BagOfCheese ();
pose. kind = "Cheddar";
pose. vekt = 2,43;
pose. daysAged = 30;
pose. erDomestic = true;
textView. setText ("");
textView. legg til (bag. kind + "," + bag, weight + "," +
bag. daysAged + "," + bag. isDomestic + " n");
bag = ny BagOfCheese ();
pose. kind = "Blue";
pose. vekt = 5. 987;
pose. daysAged = 90;
pose. erDomestic = false;
textView. legg til (bag. kind + "," + bag, weight + "," +
bag. daysAged + "," + bag. isDomestic + " n");
}
}
I denne koden, når Java kjører den andre
bag = ny BagOfCheese ()
-annonsen, har den gamle gjenstanden (posen som inneholder cheddar) forsvunnet. Uten pose (eller annen variabel) som refererer til det cheddar-objektet, er det ingen måte at koden din kan gjøre noe med cheddar-objektet. Heldigvis, når du kommer til den andre
bag = New BagOfCheese ()
erklæringen, er du ferdig med å gjøre alt du vil gjøre med den originale cheddarposen. I dette tilfellet er gjenbruk av posens variabel akseptabel.
Når du bruker en variabel (som den eneste og eneste
bag
variabelen ovenfor), gjør du det ved å bruke en oppgaveoppgave, ikke en initialisering. Med andre ord skriver du ikke
BagOfCheese bag
en gang i koden din. Hvis du gjør det, ser du feilmeldinger i Android Studio-editoren.
For å være smertelig presis, kan du faktisk skrive
BagOfCheese bag
mer enn en gang i samme kode.
Ingen av klassene
BagOfCheese
er
siste
. Med andre ord lar klassens kode deg omfordele verdier til feltene i et
BagOfCheese
objekt.Med denne informasjonen i tankene kan du forkorte koden ovenfor med en linje, som vist her.
pakke com. allmycode. a09_04;
importer android. Brukerstøtte. v7. app. AppCompatActivity;
importer android. os. Bunt;
importer android. widget. TextView;
import com. allmycode. a09_01. BagOfCheese;
offentlig klasse MainActivity utvider AppCompatActivity {
TextView textView;
@Override
beskyttet tomrommet påCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (R. Layout. Activity_main);
textView = (TextView) findViewById (R. Id. TextView);
BagOfCheese bag = ny BagOfCheese ();
pose. kind = "Cheddar";
pose. vekt = 2,43;
pose. daysAged = 30;
pose. erDomestic = true;
textView. setText ("");
textView. legg til (bag. kind + "," + bag, weight + "," +
bag. daysAged + "," + bag. isDomestic + " n");
// bag = ny BagOfCheese ();
pose. kind = "Blue";
pose. vekt = 5. 987;
pose. daysAged = 90;
pose. erDomestic = false;
textView. legg til (bag. kind + "," + bag, weight + "," +
bag. daysAged + "," + bag. isDomestic + " n");
}
}
Med den andre konstruktøranropen i denne koden kommenterte, gjør du ikke
bag
variabelen til en ny gjenstand. I stedet økonomiserer du ved å tilordne nye verdier til feltets eksisterende felt.
I noen situasjoner kan gjenbruk av en objekts felter være mer effektiv (raskere å utføre) enn å lage en ny gjenstand. Men når du har et valg, er det en god ide å skrive kode som speiler ekte data. Hvis innholdet av en faktisk pose ikke endres fra cheddarost til blåost, ville det være bedre å ikke endre et
BagOfCheese
objektets typefelt fra "
Cheddar
" til "
Blå
“.
