Déclarer une méthode
// type de retour, nom, paramètres typés static double cout(int litres, double prixLitre) { return litres * prixLitre; } static void afficher(String msg) { // void = ne renvoie rien System.out.println(msg); } double c = cout(1500, 1.082); // appel
Surcharge, varargs, portée
La surcharge (overloading) : plusieurs méthodes de même nom mais de signatures différentes.
static int total(int a, int b) { return a + b; } static int total(int... valeurs) { // varargs int s = 0; for (int v : valeurs) s += v; return s; } total(1500, 2000); total(1500, 2000, 1800); // même nom, nombre variable d'arguments
Portée — une variable déclarée dans une méthode (locale) n'existe que dans cette méthode.
La récursivité
Une méthode qui s'appelle elle-même, avec un cas d'arrêt obligatoire.
static long factorielle(int n) { if (n <= 1) return 1; // cas d'arrêt return n * factorielle(n - 1); }
Sans cas d'arrêt — la récursion est infinie et provoque un
StackOverflowError.🛢️ Sur le projet Fioul Groupé
Une méthode coutCommande(int litres, double prixLitre) centralise le calcul du montant dû : écrite une fois, réutilisée partout (affichage, facture, API). C'est le même geste que la fonction stockée SQL du parcours MySQL, mais côté application.
À retenir
- Une méthode : type de retour, nom, paramètres typés, éventuel return.
- void = ne renvoie rien ; la surcharge distingue par la signature.
- varargs (int...) accepte un nombre variable d'arguments.
- Récursivité = méthode qui s'appelle, avec un cas d'arrêt.