Dans les programmes Java , toutes les variables sont donnés un type spécifique et immuable quand ils sont d'abord déclarés. Ainsi , si vous créez une variable entière appelée " numApples , " vous ne pouvez pas modifier cette variable à une double ou une chaîne que le programme est en marche. Cette qualité rend Java Un langage " fortement typé " et lui permet de prendre un certain nombre de problèmes potentiels que le programme compile au lieu de tout le programme est en marche. Un des problèmes potentiels est une opération utilisant types incompatibles. Parce que
Il ya plusieurs bugs différents qui peuvent causer Java pour lancer une erreur de type incompatible lors de la compilation de votre programme. En l'erreur simple, vous avez peut-être essayé d'affecter un type incompatible à une variable. Par exemple, si vous avez créé une variable entière , vous ne pouvez pas affecter la valeur de 1,3 à elle . Vous avez peut-être également tenté de passer une variable incompatible dans une méthode , une méthode qui n'accepte un tableau de chaînes comme argument ne peut pas accepter une seule chaîne. Ce problème peut aussi être causé par l'utilisation d'une syntaxe incorrecte sur une comparaison booléenne. Si vous essayez de vérifier si les numApples entier est égal à 1 ( numApples == 1), mais vous omettez un signe égal , vous affirmez que la place numApples est égal à 1 ( numApples = 1). La première déclaration correspond à un type booléen tandis que le second évalue à un type entier . Si vous placez le deuxième déclaration dans une fonction où un type booléen est nécessaire , le programme lancera une erreur de types incompatibles.
Casting
Si vous devez passer une variable à une méthode qui ne supporte pas ce type particulier de variable, vous pourriez être en mesure de le jeter à un autre type . Par exemple , si une méthode prend en charge uniquement des nombres entiers, mais vous voulez passer un double, vous pouvez temporairement convertir la double en entier en ajoutant « (int) " en face de la double variable comme vous le passez à la méthode. Coulée ne modifie pas la variable stockée mais il peut modifier la valeur qui est coulé . Jetant un double équivaut à 3,2 en entier va retourner l'entier 3 .
Surcharge
Si vous devez passer différents types de variables à l' même méthode , vous pouvez créer une méthode surchargée . Méthodes surchargées sont des doublons d'une méthode qui porte le même nom , mais acceptent des arguments différents. Par exemple, vous pouvez créer deux versions d'une méthode add dans la même classe , celle qui accepte deux valeurs doubles et un autre qui accepte deux valeurs flottantes . Si vous appelez ajouter et passer deux valeurs flottantes , le programme exécutera automatiquement la méthode que vous avez spécifié pour les valeurs flottantes .
Héritage
Lorsque vous travaillez avec des types de pointe, vous pouvez éviter incompatibles erreurs types en définissant une méthode pour accepter le parent de tout type que vous voulez passer en elle. Par exemple, si vous avez créé une méthode pour calculer la superficie d'un bâtiment, vous devez le régler à accepter un bâtiment comme argument :
deux calculateSquareFootage
(entrée du bâtiment )
Vous pouvez ensuite passer dans n'importe quel type de données qui hérite du type de données du bâtiment, comme une école , une prison ou le type de données de l'hôpital.