Video: Learn Java Programming with Beginners Tutorial 2024
Es gibt ein paar Dinge, über die Sie nachdenken sollten, wenn Sie Namen in Ihrer Android-App wiederverwenden. Sie könnten zwei Java-Variablen deklarieren -
bag1
und
bag2
- um auf zwei verschiedene
BagOfCheese
Objekte zu verweisen. Das ist gut. Aber manchmal funktioniert es genauso gut, nur eine Variable zu haben und sie für das zweite Objekt wiederzuverwenden, wie hier gezeigt.
Paket com. allmycode. a09_03;
Import Android. Unterstützung. v7. App. AppCompatAktivität;
Import Android. os. Bündeln;
Import Android. Widget. Textvorschau;
Importieren von Daten. allmycode. a09_01. BagOfCheese;
public class MainActivity erweitert AppCompatActivity {
TextView textView;
@Override
geschützt void onCreate (Bundle savedInstanceState) {
super. onCreate (gespeicherterInstanzStatus);
setContentView (R. layout. Activity_main);
textView = (TextView) findViewById (R. Id. TextView);
BagOfCheese Tasche = neue BagOfCheese ();
Tasche. Art = "Cheddar";
Tasche. Gewicht = 2, 43;
Tasche. Tage Gealtert = 30;
Tasche. isDomestic = wahr;
textView. Text setzen("");
Textansicht. anhängen (Tasche. Art + "," + Tasche. Gewicht + "," +
Tasche. TageAlt + "," + Tasche. IsDomestic + " n");
Beutel = neuer BagOfCheese ();
Tasche. Art = "Blau";
Tasche. Gewicht = 5.987;
Tasche. Tage = 90;
Tasche. isDomestic = falsch;
Textansicht. anhängen (Tasche. Art + "," + Tasche. Gewicht + "," +
Tasche. TageAlt + "," + Tasche. IsDomestic + " n");
}
}
Wenn Java in diesem Code die zweite Anweisung
bag = new BagOfCheese ()
ausführt, ist das alte Objekt (die Tasche mit Cheddar) verschwunden. Ohne Tasche (oder eine andere Variable), die sich auf dieses Cheddar-Objekt bezieht, gibt es keine Möglichkeit, dass Ihr Code mit dem Cheddar-Objekt etwas anfangen kann. Glücklicherweise, wenn Sie die zweite Anweisung
bag = new BagOfCheese ()
erreichen, sind Sie damit fertig, alles zu tun, was Sie mit der ursprünglichen Cheddar-Tasche machen wollen. In diesem Fall ist die Wiederverwendung der Taschenvariable akzeptabel.
Wenn Sie eine Variable wiederverwenden (wie die Variable
bag
oben), verwenden Sie eine Zuweisungsanweisung und keine Initialisierung. Mit anderen Worten, Sie schreiben
BagOfCheese bag
kein zweites Mal in Ihren Code. Wenn Sie dies tun, werden Fehlermeldungen im Android Studio-Editor angezeigt.
Um genau zu sein, können Sie tatsächlich
BagOfCheese bag
mehr als einmal im selben Code schreiben.
Keines der Felder der
BagOfCheese
-Klasse ist
final
. Mit anderen Worten: Mit dem Code der Klasse können Sie den Feldern in einem
BagOfCheese
-Objekt Werte zuweisen.Mit diesen Informationen können Sie den obigen Code um eine weitere Zeile kürzen, wie hier gezeigt.
Paket com. allmycode. a09_04;
Import Android. Unterstützung. v7. App. AppCompatAktivität;
Import Android. os. Bündeln;
Import Android. Widget. Textvorschau;
Importieren von Daten. allmycode. a09_01. BagOfCheese;
public class MainActivity erweitert AppCompatActivity {
TextView textView;
@Override
geschützt void onCreate (Bundle savedInstanceState) {
super. onCreate (gespeicherterInstanzStatus);
setContentView (R. layout. Activity_main);
textView = (TextView) findViewById (R. Id. TextView);
BagOfCheese Tasche = neue BagOfCheese ();
Tasche. Art = "Cheddar";
Tasche. Gewicht = 2, 43;
Tasche. Tage Gealtert = 30;
Tasche. isDomestic = wahr;
Textansicht. Text setzen("");
Textansicht. anhängen (Tasche. Art + "," + Tasche. Gewicht + "," +
Tasche. TageAlt + "," + Tasche. IsDomestic + " n");
// bag = neuer BagOfCheese ();
Tasche. Art = "Blau";
Tasche. Gewicht = 5.987;
Tasche. Tage = 90;
Tasche. isDomestic = falsch;
Textansicht. anhängen (Tasche. Art + "," + Tasche. Gewicht + "," +
Tasche. TageAlt + "," + Tasche. IsDomestic + " n");
}
}
Wenn der zweite Konstruktoraufruf in diesem Code auskommentiert ist, wird die Variable
bag
nicht auf ein neues Objekt verweisen. Stattdessen sparen Sie, indem Sie den Feldern des vorhandenen Objekts neue Werte zuweisen.
In einigen Situationen kann die Wiederverwendung der Felder eines Objekts effizienter sein (schneller auszuführen) als das Erstellen eines neuen Objekts. Aber wann immer Sie eine Wahl haben, ist es eine gute Idee, Code zu schreiben, der reale Daten widerspiegelt. Wenn sich der Inhalt einer echten Tasche nicht von Cheddar-Käse zu Blauschimmelkäse ändert, ist es besser, das Art-Feld eines
BagOfCheese
-Objekts nicht von "
Cheddar
" zu "
Blau" zu ändern.
".