Video: Einfache Methoden - Funktionen in Java 1 (Mit & ohne Parameter) ● Gehe auf SIMPLECLUB.DE/GO 2024
Java ist eine objektorientierte Programmiersprache. Daher ist es für Sie als primäres Ziel für Android-App-Entwickler, Objekte zu beschreiben. Ihr eng verwandtes Ziel ist es, die engen Verwandten von Objekten zu beschreiben - nämlich Klassen. Eine Klasse ist die Idee hinter einer bestimmten Sache. Ein Objekt ist eine konkrete Instanz einer Klasse.
Hier wird ein kleiner Teil des Quellcodes der Toast-Klasse von Android wiedergegeben.
public class Toast {public statisch final int LENGTH_LONG = 1; public static Toast makeText (Kontextkontext, CharSequence-Text, int duration) {Toastergebnis = neuer Toast (Kontext); LayoutInflater inflate = (LayoutInflater) -Kontext. getSystemService (Kontext. LAYOUT_INFLATER_SERVICE); Ansicht v = aufblasen. aufblasen (com. android. intern. R. Layout. transient_notification, null); TextView tv = (Textansicht) v. findViewById (com. android. interne. R. ID-Nachricht); Fernseher. setText (Text); Ergebnis. mNextView = v; Ergebnis. mDauer = Dauer; return result;} public void show () {if (mNextView == null) {neue RuntimeException ausgeben ("setView muss aufgerufen worden sein");} INotificationManager service = getService (); String pkg = mKontext. getPackageName (); TN tn = mTN; Versuchen Sie {Service. EnqueueToast (pkg, tn, mDuration);} catch (RemoteException e) {// Leer}}}
Die Toast-Klasse verfügt laut diesem Code über ein statisches Feld namens LENGTH_LONG und eine statische Methode namens makeText. Alles, was als statisch deklariert wird, gehört zur gesamten Klasse, nicht zu einer bestimmten Instanz der Klasse. Wenn Sie das statische Feld LENGTH_LONG erstellen, erstellen Sie nur eine Kopie des Felds. Diese Kopie bleibt bei der gesamten Toast-Klasse. Unabhängig davon, wie viele Instanzen der Toast-Klasse Sie erstellen - eins, neun oder keines -, haben Sie nur ein LENGTH_LONG-Feld.
Vergleichen Sie dies mit dieser Situation. Hier hat die Account-Klasse die Felder Name, Adresse und Saldo. Die Felder sind nicht statisch, daher hat jede Instanz der Account-Klasse ihren eigenen Namen, ihre eigene Adresse und ihr eigenes Guthaben. Eine Instanz hat den Namen Barry Burd und die Waage 24. 02, und eine andere Instanz hat den Namen John Q. Public mit der Waage -471. 03. Um auf Burds Bilanz zu verweisen, können Sie etwas wie myAccount schreiben. Waage wie im folgenden Code:
Konto myAccount = neues Konto (); mein Konto. Name = "Burd"; mein Konto. Adresse = "222 Cyberspace Lane"; mein Konto. Bilanz = 24. 02;
Um auf ein nicht-statisches Mitglied einer Klasse zu verweisen, schreiben Sie den Namen eines Objekts (wie zB myAccount), gefolgt von einem Punkt und dann den Namen des Mitglieds (wie z. B. balance).
Das Feld LENGTH_LONG der Toast-Klasse ist jedoch statisch. Wenn Sie eine Toast-Instanz erstellen, erstellen Sie kein neues LENGTH_LONG-Feld. Die Toast-Klasse hat ein LENGTH_LONG-Feld, und das ist das. Entsprechend verweisen Sie auf LENGTH_LONG, indem Sie dem Feldnamen den Namen der Toast-Klasse voranstellen, gefolgt von einem Punkt:
Toast. LENGTH_LONG
Tatsächlich bezieht sich eine typische Verwendung von Toast in einer Android-App auf das statische Feld LENGTH_LONG und die statische Methode makeText:
Toast. makeText (getApplication (), "Whoa!", Toast. LENGTH_LONG). Show();
Ein Aufruf der makeText-Methode der Toast-Klasse gibt ein tatsächliches Objekt zurück - eine Instanz der Toast-Klasse. (Sie können dies überprüfen, indem Sie sich auf die erste Zeile der obigen makeText-Methode beziehen.) In einer Android-App also ein Ausdruck wie
Toast. makeText (getApplication (), "Whoa!", Toast. LENGTH_LONG)
steht für ein Objekt. Jedes aus der Toast-Klasse erstellte Objekt verfügt über eine eigene nicht statische Show-Methode. Deshalb folgst du normalerweise einem Toast. Aufruf von makeText mit. Show().
Hier noch ein Wort zum Code, den Sie hier finden: Das LENGTH_LONG-Feld ist nicht nur statisch, sondern auch endgültig. Ein letztes Feld ist eines, dessen Wert nicht geändert werden kann. Mit anderen Worten, wenn Sie LENGTH_LONG deklarieren, können Sie seinen Wert auf 1 initialisieren. An anderer Stelle im Code können Sie jedoch LENGTH_LONG = 2 nicht schreiben. (Ansonsten können Sie LENGTH_LONG = 1 nicht an anderer Stelle im Code schreiben.).)
Viele Programmiersprachen verwenden das Wort constant (oder die Abkürzung const), um auf eine Variable zu verweisen, deren Wert nicht geändert werden kann.