10 Fehler in der Java-Programmierung zu vermeiden

10 Fehler in der Java-Programmierung zu vermeiden - Dummies

Hier sind 10 schnelle Erinnerungen, um leichte Fehler zu vermeiden, wenn Sie Android-Apps mit Java programmieren Code. Das Schreiben eigener Java-Programme wird viel einfacher und reibungsloser, wenn Sie diese Checkliste durchlaufen.

Setzen Sie Großbuchstaben dorthin, wo sie hingehören

Bei Java handelt es sich um eine Groß- / Kleinschreibung, daher müssen Sie wirklich Ihre P und Q s beachten - zusammen mit jedem anderen Buchstaben des Alphabets. Hier sind einige Konzepte, die Sie beachten sollten, wenn Sie Java-Programme erstellen:

  • Die Schlüsselwörter von Java sind alle vollständig klein geschrieben. Zum Beispiel kann in einer Java if-Anweisung das Wort , wenn nicht sein, wenn oder IF sein.

  • Wenn Sie Namen aus der Java Application Programming Interface (API) verwenden, muss der Fall der Namen mit dem übereinstimmen, was in der API angezeigt wird.

  • Sie müssen auch sicherstellen, dass die Namen, die Sie selbst bilden, im gesamten Programm auf dieselbe Weise groß geschrieben werden. Wenn Sie eine myAccount-Variable deklarieren, können Sie nicht als MyAccount, myaccount oder Myaccount darauf verweisen. Wenn Sie den Variablennamen auf zwei verschiedene Arten verwenden, denkt Java, dass Sie sich auf zwei völlig verschiedene Variablen beziehen.

Break out einer switch-Anweisung

Wenn Sie nicht aus einer switch-Anweisung ausbrechen, erhalten Sie einen Durchbruch. Wenn zum Beispiel der Wert von roll 7 ist, druckt der folgende Code alle drei Wörter - win, continue und lost:

 switch (roll) {case 7: System. aus. println ("gewinnen"); Fall 10: System. aus. println ("weiter"); Fall 12: System. aus. println ("lose");} 

Werte mit doppeltem Gleichheitszeichen vergleichen

Wenn Sie zwei Werte miteinander vergleichen, verwenden Sie ein doppeltes Gleichheitszeichen. Die Zeile

 if (inputNumber == randomNumber) 

ist korrekt, aber die Zeile

 if (inputNumber = randomNumber) 

ist nicht korrekt.

Hinzufügen von Listenern zur Behandlung von Ereignissen

Sie möchten wissen, wann der Benutzer auf ein Widget klickt, wann eine Animation endet oder wann etwas anderes passiert, sodass Sie Listener erstellen:

 public class MainActivity erweitert Activity  implementiert OnClickListener, AnimationListener  {... public void onClick (Ansicht anzeigen) {...} public void onAnimationEnd (Animationsanimation) {...} 

Beim Erstellen von Listenern müssen Sie daran denken, die Listener zu setzen:

 ImageView-Widget = neues ImageView (dieses); Widget.  setOnClickListener  (dies); ... AlphaAnimation Animation = neue AlphaAnimation (0. 0F, 1. 0F); Animation.  setAnimationListener  (dies); ... 

Wenn Sie den Aufruf von setOnClickListener vergessen haben, passiert nichts, wenn Sie auf das Widget klicken. Wenn Sie ein zweites Mal auf das Widget klicken, hilft es nicht weiter.

Definieren Sie die erforderlichen Konstruktoren

Wenn Sie einen Konstruktor mit Parametern definieren, wie z. B.

 public Temperature (doppelte Zahl) 

, erstellt Java keinen voreingestellten parameterlosen Konstruktor mehr für Sie. Mit anderen Worten, Sie können

 nicht mehr aufrufen. Temperature roomTemp = new Temperature (); 

Es sei denn, Sie definieren explizit einen eigenen parameterlosen Temperaturkonstruktor.

Behebt nicht-statische Referenzen

Wenn Sie versuchen, den folgenden Code zu kompilieren, erhalten Sie eine Fehlermeldung:

 Klasse WillNotWork {String greeting = "Hello"; public static void main (Zeichenfolge args []) {System. aus. println (Begrüßung);}} 

Sie erhalten eine Fehlermeldung, weil main statisch ist, die Begrüßung jedoch nicht statisch ist.

Bleiben Sie innerhalb von Grenzen in einem Array

Wenn Sie ein Array mit zehn Komponenten deklarieren, haben die Komponenten Indizes von 0 bis 9. Mit anderen Worten, wenn Sie

 int guests [] = neuer int [10]; 

Sie können auf die Komponenten des Gäste-Arrays verweisen, indem Sie Gäste [0], Gäste [1] usw. bis zu den Gästen [9] schreiben. Sie können keine guest [10] schreiben, weil das Gäste-Array keine Komponente mit Index 10 hat.

Null-Zeiger voraussehen

Diese Beispiele sind nicht anfällig für die NullPointerException, aber in der echten Java-Programmierung Sieh diese Ausnahme immer. Eine NullPointerException tritt auf, wenn Sie eine Methode für einen Ausdruck aufrufen, der keinen "legitimen" Wert hat. Hier ein billiges Beispiel:

 public class ThrowNullPointerException {public static void main (String [] args) {String myString = null; display (myString);} Statische Void-Anzeige (String aString) {if (! aString. contains ("vertraulich")) {System. aus. println (aString);}}} 

Die Anzeigemethode gibt nur Zeichenfolgen aus, wenn diese Zeichenfolge das Wort vertraulich nicht enthält. Das Problem ist, dass die Variable myString (und damit der Parameter aString) sich nicht auf eine beliebige Zeichenkette bezieht - nicht einmal auf die leere Zeichenkette (").

Wenn der Computer den Aufruf von aString erreicht. enthält, sucht der Computer nach einer contains-Methode, die zu null gehört. Aber Null ist nichts. Der Nullwert hat keine Methoden. So erhalten Sie eine große NullPointerException, und das Programm stürzt sich um Sie herum.

Um diese Art von Unheil zu vermeiden, denken Sie zweimal über jeden Methodenaufruf in Ihrem Code nach. Wenn der Ausdruck vor dem Punkt möglicherweise null sein kann, fügen Sie Ihrem Programm einen Ausnahmebehandlungscode hinzu:

 try {if (! AString. Contains ("vertraulich")) {System. aus. println (aString);}} catch (NullPointerException e) {System. aus. println ("Die Zeichenfolge ist null.");} 

Berechtigungen verwenden

Einige Apps benötigen explizite Berechtigungen. Beispielsweise könnte eine App über das Internet mit den Servern von Twitter kommunizieren. Dies funktioniert nur, wenn Sie ein Element zum AndroidManifest der App hinzufügen. XML-Datei:

Wenn Sie vergessen haben, das Element zu Ihrem AndroidManifest hinzuzufügen. XML-Datei kann die App nicht mit Twitter-Servern kommunizieren. Die App schlägt fehl, ohne eine nützliche Fehlermeldung anzuzeigen. Schade!

Die Aktivität wurde nicht gefunden

Wenn Sie eine zweite Aktivität für Ihre App erstellen, müssen Sie ein neues Element im AndroidManifest der App hinzufügen.XML-Datei. Zum Beispiel kann eine Android-App zwei Aktivitäten haben: MainActivity und MyListActivity.

Eclipse erstellt automatisch ein

 

Wenn Sie dieses Element nicht hinzufügen, kann Android die MyListActivity-Klasse nicht finden, obwohl MyListAcitivity vorhanden ist. Die Java-Datei befindet sich im Eclipse-Projektverzeichnis der App. Ihre App stürzt mit einer ActivityNotFoundException ab.

Und das macht den Unterschied.