In Java-Programme , alle Variablen eine bestimmte Art und unveränderlich sind gegeben, wenn sie zum ersten Mal erklärt. Also, wenn Sie eine Integer-Variable namens erstellen " numApples ," kann man nicht ändern, diese Variable zu einem Doppel-oder Zeichenfolge als das Programm läuft . Diese Qualität macht Java ein " stark typisierte " Sprache und ermöglicht es, eine Reihe von Problemen zu fangen, wie das Programm kompiliert statt , während das Programm läuft. Eine der möglichen Fragen ist eine Operation mit inkompatible Typen . Ursache
Es gibt verschiedene Probleme, die dazu führen, Java , eine inkompatible Typen Fehler werfen, während Ihr Programm kompilieren kann . Im einfachsten Fehler , können Sie versucht, eine inkompatible Typ einer Variablen zuweisen haben . Zum Beispiel, wenn Sie eine Integer-Variable erstellt haben, können Sie nicht berechtigt, die Wert 1.3 zu. Sie können auch versucht haben, eine inkompatible Variable in einer Methode übergeben , eine Methode, die nur akzeptiert ein Array von Strings als Argument nicht akzeptieren kann, einen einzelnen String . Dieses Problem kann auch durch eine fehlerhafte Syntax auf einem Boolean Vergleich verursacht werden. Wenn Sie überprüfen, ob die ganze numApples gleich 1 ist ( numApples == 1) versuchen, aber man lasse einen Gleichheitszeichen , werden Sie feststellen, dass statt numApples gleich 1 ( numApples = 1) ist . Die erste Anweisung wertet einen booleschen Typ , während die zweite wertet zu einem Integer-Typ . Wenn Sie die zweite Anweisung in einer Funktion , wo ein Typ boolean ist notwendig zu platzieren , wird das Programm werfen eine inkompatible Typen Fehler.
Casting
Wenn Sie einen Pass benötigen Variable auf eine Methode, die nicht unterstützt dieses bestimmten Typs von Variablen , können Sie in der Lage sein , um es zu einem anderen Typ umwandeln . Zum Beispiel, wenn eine Methode unterstützt nur ganze Zahlen , aber Sie wollen , um eine doppelte übergeben, können Sie vorübergehend die doppelte Umwandlung in eine ganze Zahl durch den Zusatz " (int) " vor dem Double-Variable , wie Sie es gehen in der Methode. Casting wird keinen Einfluss auf die gespeicherte Variable , aber es kann den Wert, der umgewandelt ändern. Casting eine doppelte , die äquivalent zu 3,2 auf eine ganze Zahl ist, wird zurückkehren das ganze 3 .
Überlastung
Wenn Sie verschiedene Arten von Variablen die übergeben müssen gleichen Verfahren können Sie eine überladene Methode . Überladene Methoden sind Duplikate einer Methode, die den gleichen Namen haben , aber nehmen verschiedene Argumente . Zum Beispiel könnten Sie zwei Versionen eines Add-Methode in der gleichen Klasse , eine, die zwei double-Werte und eine andere , die zwei Float-Werte akzeptiert akzeptiert . Wenn Sie hinzufügen und geben es zwei Float-Werte nennen , wird das Programm automatisch die Methode ausführen , die Sie für Float-Werte angegeben .
Vererbung
Beim Arbeiten mit erweiterten Typen , Sie können inkompatible Typen Fehler , indem Sie eine Methode, um das übergeordnete jeglicher Art , die Sie in es passieren akzeptieren vermeiden. Zum Beispiel, wenn Sie eine Methode, um die Quadratmeterzahl eines Gebäudes berechnen erstellt haben, sollten Sie es auf ein Gebäude als Argument akzeptieren:
Doppel calculateSquareFootage (Gebäude -Eingang)
Sie können dann passieren in einem beliebigen Datentyp , der das Gebäude Datentyp , wie eine Schule , Gefängnis oder Krankenhaus Datentyp erbt.