L'overload in Java è un concetto che consente di definire più metodi con lo stesso nome all'interno di una classe, ma con firme diverse. Questo permette di creare metodi con lo stesso nome ma con comportamenti diversi in base ai parametri passati.
L'overload si verifica quando una classe ha più di un metodo con lo stesso nome, ma con firme diverse. La firma di un metodo include il suo nome e il tipo, il numero e l'ordine dei suoi parametri. I metodi sovraccaricati possono avere tipi di ritorno diversi, ma devono differire nella firma dei parametri.
Ecco un esempio di overload in Java:
class Calcolatrice {
int somma(int a, int b) {
return a + b;
}
double somma(double a, double b) {
return a + b;
}
}
public class Main {
public static void main(String[] args) {
Calcolatrice calcolatrice = new Calcolatrice();
int risultato1 = calcolatrice.somma(5, 3);
double risultato2 = calcolatrice.somma(2.5, 3.7);
System.out.println("Risultato 1: " + risultato1); // Output: 8
System.out.println("Risultato 2: " + risultato2); // Output: 6.2
}
}
Nell'esempio sopra, la classe Calcolatrice ha due metodi chiamati somma(). Uno accetta due interi come parametri e restituisce un intero, mentre l'altro accetta due double come parametri e restituisce un double. Questo è un esempio di overload dei metodi somma().