Java für Android-Entwicklung lernen Objekttyp mit Instanz prüfen

Diese kurze Lektion in unserem Lerne Java für Android-Entwicklung Serie zeigt Ihnen, wie Sie den Typ eines Objekts mit Hilfe von Beispielvon Stichwort in Java.

Grundlegende Bedingungen

Wir sprachen über viele der grundlegenden Java-Bedingungsanweisungen in der Lernen Sie Java für Android-Entwicklung: Java-Syntax Tutorial. Zum Beispiel bietet Java alle typischen bedingten Operatoren, die man erwarten könnte, einschließlich solcher, die auf Gleichheit, Ungleichheit, größer als, kleiner als usw. prüfen.

Hier ist ein Java-Code, der den Wert einer numerischen Variablen (mit dem Namen iVar) überprüft und je nach dem, ob der Wert von iVar null, negativ oder positiv ist, verschiedene Codepfade bereitstellt:

 if (iVar == 0) // Variable ist null else Wenn (iVar> 0) // Variable ist eine positive Zahl else // Variable ist eine negative Zahl 

Verwendung von instanceof in Bedingungsanweisungen

Lassen Sie uns nun ein bestimmtes Java-Feature betrachten, das Sie auch in bedingten Anweisungen verwenden können. Da Java eine vollständig objektorientierte Sprache ist, können Sie auch testen, ob ein Objekt über einen bestimmten Typ (eine Instanz einer bestimmten Klasse) bedingt ist Beispielvon Stichwort. Das Beispielvon Schlüsselwort ist ein boolescher Operator, der wie ein regulärer mathematischer boolescher Bedingungsoperator verwendet wird, um ein wahres oder falsches Ergebnis zu generieren.

Schauen wir uns ein kurzes Beispiel an. Nehmen wir an, wir haben eine übergeordnete Klasse namens Fish, die aus zwei abgeleiteten Unterklassen besteht: SaltwaterFish und FreshwaterFish. Wir könnten die verwenden Beispielvon Schlüsselwort zum Testen, ob ein Objekt eine Instanz einer bestimmten Klasse (oder Unterklasse) anhand des Namens ist:

 SaltwaterFish Nemo = neuer SaltwaterFish (); if (nemo instanceof Fish) // Wir haben eine Art von Fisch // könnte ein Fisch (Elternklasse) oder eine Unterklasse sein, wie // SaltwaterFish oder FreshwaterFish. if (Nemo-Instanz von Salzwasserfischen) // Nemo ist ein Salzwasserfisch!  

Verwenden von instanceof in der Android-Entwicklung

Also, wenn es um Android-Entwicklung geht, wann ist das Beispielvon Funktion nützlich? Für Anfänger sind die Android SDK-Klassen in typischer Objektorientierung organisiert: hierarchisch. Beispielsweise werden die Klassen wie Button, TextView und CheckBox, die verschiedene Typen von Benutzeroberflächen-Steuerelementen darstellen, alle von derselben übergeordneten Klasse abgeleitet: View. Wenn Sie also eine Methode erstellen möchten, die einen View-Parameter verwendet hat, sich aber je nach Steuerelementart unterschiedlich verhalten hat, können Sie das verwenden Beispielvon Mechanismus, um den eingehenden Parameter zu überprüfen und genau zu bestimmen, welche Art von View-Control übergeben wurde.

Die folgende Methode verwendet beispielsweise einen View-Parameter, mit dem Sie beliebige Ansichtstypen übergeben können, wobei TextView-Steuerelemente jedoch speziell für die spezielle Verarbeitung hervorgehoben werden:

 void checkforTextView (View v) if (v Instanz von TextView) // Dies ist ein TextView-Steuerelement else // Dies ist kein TextView-Steuerelement 

In diesem Beispiel können Sie fortfahren, indem Sie eine Methode aufrufen, die nur für ein TextView-Objekt gültig ist, und nicht für das generische View-Objekt. In diesem Fall würden wir den View-Parameter wahrscheinlich vor dem Aufruf in einen TextView umwandeln. Wenn wir jedoch einen Aufruf machen wollten, der in allen View-Objekten verfügbar ist, sich aber in TextView-Objekten anders verhält, müssen Sie dies nicht testen. Java führt den Aufruf der entsprechenden Version der für TextView spezifischen Methode aus. Dies ist eines der großen Merkmale der objektorientierten Programmierung: Die am besten geeignete Version einer bestimmten Methode wird aufgerufen.

Fazit

In dieser kurzen Lektion haben Sie gelernt, wie Sie die Beispielvon Java-Schlüsselwort, um den Typ eines Objekts zur Laufzeit zu überprüfen und bedingte Codepfade basierend auf dem Ergebnis bereitzustellen. Dies ist eine praktische Java-Funktion, auf die Android-Entwickler häufig angewiesen sind, da das Android-SDK hierarchisch organisiert ist.

Über die Autoren

Die mobilen Entwickler Lauren Darcey und Shane Conder haben mehrere Bücher zur Android-Entwicklung mitgeschrieben: ein ausführliches Programmierbuch mit dem Titel Android Wireless-Anwendungsentwicklung und Sams TeachYourself Entwicklung von Android-Anwendungen in 24 Stunden. Wenn sie nicht schreiben, verbringen sie ihre Zeit damit, mobile Software in ihrem Unternehmen zu entwickeln und Beratungsdienste anzubieten. Sie können sie per E-Mail an [email protected], über ihren Blog unter androidbook.blogspot.com und über Twitter @androidwireless erreichen.

Benötigen Sie weitere Hilfe zum Schreiben von Android-Apps? Schauen Sie sich unsere neuesten Bücher und Ressourcen an!