Video: Tutorial Perfect Player Iptv - Il Programma più semplice del web per Android 2025
Ci sono un paio di cose a cui vuoi pensare quando riutilizzi i nomi nella tua app per Android. È possibile dichiarare due variabili Java -
bag1
e
bag2
- per fare riferimento a due diversi
BagOfCheese
oggetti. Va bene. Ma a volte, avere solo una variabile e riutilizzarla per il secondo oggetto funziona altrettanto bene, come mostrato qui.
pacchetto com. allmycode. a09_03;
importa Android. supporto. V7. app. AppCompatActivity;
importa Android. os. Bundle;
importa Android. widget di. TextView;
importazione com. allmycode. a09_01. BagOfCheese;
la classe pubblica MainActivity estende AppCompatActivity {
TextView textView;
@Override
protected void onCreate (Bundle savedInstanceState) {
Super. onCreate (savedInstanceState);
setContentView (layout R. Attività_main);
textView = (TextView) findViewById (R. Id. TextView);
BagOfCheese bag = new BagOfCheese ();
borsa. kind = "Cheddar";
borsa. peso = 2. 43;
borsa. daysAged = 30;
borsa. isDomestic = true;
textView. setText ("");
textView. append (tipo di borsa + "," + borsa, peso + "," +
borsa. giorniAttenuto + "," + sacchetto. isDomestic + " n");
bag = new BagOfCheese ();
borsa. kind = "Blue";
borsa. peso = 5. 987;
borsa. daysAged = 90;
borsa. isDomestic = false;
textView. append (tipo di borsa + "," + borsa, peso + "," +
borsa. giorniAttenuto + "," + sacchetto. isDomestic + " n");
}
}
In questo codice, quando Java esegue la seconda istruzione
bag = new BagOfCheese ()
, il vecchio oggetto (il sacchetto contenente cheddar) è scomparso. Senza bag (o qualsiasi altra variabile) che si riferisce a quell'oggetto cheddar, non c'è modo che il codice possa fare qualsiasi cosa con l'oggetto cheddar. Fortunatamente, quando arrivi al secondo
bag = new BagOfCheese ()
, hai finito di fare tutto ciò che vuoi fare con il cheddar bag originale. In questo caso, riutilizzare la variabile bag è accettabile.
Quando riutilizzi una variabile (come la sola variabile
bag
sopra), lo fai usando una dichiarazione di assegnazione, non un'inizializzazione. In altre parole, non scrivi
BagOfCheese bag
una seconda volta nel tuo codice. Se lo fai, vedi i messaggi di errore nell'editor di Android Studio.
Per essere dolorosamente preciso, puoi, infatti, scrivere
BagOfCheese
più volte nello stesso pezzo di codice.
Nessuno dei campi
BagOfCheese
è
finale
. In altre parole, il codice della classe consente di riassegnare i valori ai campi all'interno di un oggetto
BagOfCheese
.Tenendo a mente queste informazioni, puoi abbreviare il codice di sopra di una riga in più, come mostrato qui.
pacchetto com. allmycode. a09_04;
importa Android. supporto. V7. app. AppCompatActivity;
importa Android. os. Bundle;
importa Android. widget di. TextView;
importazione com. allmycode. a09_01. BagOfCheese;
la classe pubblica MainActivity estende AppCompatActivity {
TextView textView;
@Override
protected void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (layout R. Attività_main);
textView = (TextView) findViewById (R. Id. TextView);
BagOfCheese bag = new BagOfCheese ();
borsa. kind = "Cheddar";
borsa. peso = 2. 43;
borsa. daysAged = 30;
borsa. isDomestic = true;
textView. setText ("");
textView. append (tipo di borsa + "," + borsa, peso + "," +
borsa. giorniAttenuto + "," + sacchetto. isDomestic + " n");
// bag = new BagOfCheese ();
borsa. kind = "Blue";
borsa. peso = 5. 987;
borsa. daysAged = 90;
borsa. isDomestic = false;
textView. append (tipo di borsa + "," + borsa, peso + "," +
borsa. giorniAttenuto + "," + sacchetto. isDomestic + " n");
}
}
Con la seconda chiamata del costruttore in questo codice commentato, non si fa in modo che la variabile
borsa
si riferisca a un nuovo oggetto. Invece, economizzi assegnando nuovi valori ai campi dell'oggetto esistente.
In alcune situazioni, riutilizzare i campi di un oggetto può essere più efficiente (più rapido da eseguire) rispetto alla creazione di un nuovo oggetto. Ma ogni volta che hai una scelta, è una buona idea scrivere un codice che rispecchi i dati reali. Se il contenuto di una busta reale non cambia da formaggio cheddar a formaggio blu, sarebbe meglio non cambiare un
BagOfCheese
campo tipo di oggetto da "
Cheddar
" a "
Blu
“.
