English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo articolo, imparerai il sovraccarico dei metodi e come implementare il sovraccarico con esempi in Java.
In Java, se due o piùMetodiSe i parametri sono diversi (parametri di quantità diversi, tipi di parametri diversi o entrambi), possono avere lo stesso nome. Questi metodi sono detti metodi sovraccaricati, e questa funzione è detta sovraccarico di metodo. Ad esempio:
void func() { ... } void func(int a) { ... } float func(double a) { ... } float func(int a, float b) { ... }
In questo caso, il metodo func() è sovraccaricato. Questi metodi hanno lo stesso nome ma accettano parametri diversi.
Notate che i tipi di ritorno di questi metodi sono diversi. I metodi sovraccaricati possono avere tipi di ritorno diversi, o possono non avere diversi tipi di ritorno, ma devono accettare parametri diversi.
Supponiamo che debbiate eseguire l'operazione di somma di un numero dato, ma possono esserci un numero qualsiasi di parametri (per semplificare, si può dire 2 o 3 parametri).
Per completare l'incarico, è possibile creare due metodi per due e tre parametri rispettivamente: sum2num(int, int) e sum3num(int, int, int). Tuttavia, altri programmatori e anche voi potreste sentirvi confusi, poiché entrambi i metodi hanno comportamenti identici ma nomi diversi.
Il modo migliore per completare questa attività è sovraccaricare il metodo. E in base ai parametri passati, chiamare uno dei metodi sovraccaricati. Questo aiuta a migliorare la leggibilità del programma.
Ecco diversi modi per eseguire il sovraccarico dei metodi:
class MethodOverloading { private static void display(int a){ System.out.println("Parametro: " + a); } private static void display(int a, int b){ System.out.println("Parametro: " + a + " e " + b); } public static void main(String[] args) { display(1); display(1, 4); } }
Output:
Parametro: 1 Parametro: 1 e 4
class MethodOverloading { //Questo metodo accetta un int private static void display(int a){ System.out.println("Abbiamo ottenuto i dati interi."); } //Questo metodo accetta un oggetto String private static void display(String a){ System.out.println("Abbiamo ottenuto un oggetto String."); } public static void main(String[] args) { display(1); display("Hello"); } }
Output:
Abbiamo ottenuto i dati interi Abbiamo ottenuto un oggetto String.
In questo caso, entrambi i metodi sovraccaricati accettano un parametro. Tuttavia, uno accetta un parametro di tipo int, mentre l'altro accetta un oggetto String.
class HelperService { return String.format( } return String.format( } return String.format( } public static void main(String[] args) { HelperService hs = new HelperService(); System.out.println(hs.formatNumber(500)); System.out.println(hs.formatNumber(89.9934)); System.out.println(hs.formatNumber("550")); } }
Quando si esegue questo programma, l'output è:
500 89.993 550.00
AttenzioneNella Java, è possibile anche sovraccaricare i costruttori in modo simile ai metodi.
Raccomandato: Sovraccarico del costruttore Java
Se due o più metodi accettano parametri diversi, possono avere lo stesso nome nello stesso oggetto. Questa funzione si chiama sovraccarico del metodo.
Il sovraccarico del metodo può essere implementato in uno dei seguenti modi:
Modificare il numero di parametri.
o modificare il tipo dei parametri.
Non è possibile implementare il sovraccarico del metodo solo modificando il tipo di ritorno del metodo.