Surcharge de méthode
La méthode max utilisée ci-dessus s'applique uniquement aux données de type int. Mais que se passe-t-il si vous souhaitez obtenir la valeur maximale de deux types de données à virgule flottante ?
La solution consiste à créer une autre méthode avec le même nom mais des paramètres différents, comme indiqué dans le code suivant :
public static double max(double num1, double num2) { if (num1 > num2) return num1 else return num2;}
Si vous passez un paramètre int lors de l'appel de la méthode max, la méthode max du paramètre int sera appelée ;
Si un paramètre double est passé, le corps de méthode max de type double sera appelé, ce qui est appelé surcharge de méthode ;
Autrement dit, deux méthodes d’une classe ont le même nom, mais des listes de paramètres différentes.
Le compilateur Java détermine quelle méthode doit être appelée en fonction de la signature de la méthode.
La surcharge de méthodes peut rendre le programme plus clair et plus facile à lire. Les méthodes qui effectuent des tâches étroitement liées doivent utiliser le même nom.
Les méthodes surchargées doivent avoir des listes de paramètres différentes. Vous ne pouvez pas surcharger les méthodes basées uniquement sur des modificateurs ou des types de retour.
portée variable
La portée d'une variable est la partie du programme à partir de laquelle la variable peut être référencée.
Les variables définies dans une méthode sont appelées variables locales.
La portée d'une variable locale commence à sa déclaration et se termine à la fin du bloc qui la contient.
Les variables locales doivent être déclarées avant de pouvoir être utilisées.
La portée des paramètres d’une méthode couvre l’ensemble de la méthode. Le paramètre est en fait une variable locale.
Les variables déclarées dans la partie initialisation de la boucle for ont une portée tout au long de la boucle.
Mais le champ d'application de la variable déclarée dans le corps de la boucle s'étend de sa déclaration jusqu'à la fin du corps de la boucle. Il contient des déclarations de variables comme indiqué ci-dessous :
Vous pouvez déclarer une variable locale portant le même nom plusieurs fois au sein d'une méthode, dans différents blocs non imbriqués, mais vous ne pouvez pas déclarer une variable locale deux fois dans un bloc imbriqué.