English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 基礎教程

Controllo del flusso Java

Array Java

Java orientata agli oggetti (I)

Java orientata agli oggetti (II)

Java orientata agli oggetti (III)

Java 异常处理

List Java

Queue (coda) Java

Map di Java

Set di Java

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Sovraccarico dei metodi Java

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.

Perché ci sono sovraccarichi di metodi?

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.

Come eseguire il sovraccarico dei metodi in Java?

Ecco diversi modi per eseguire il sovraccarico dei metodi:

1. Modificando il numero di parametri per sovraccaricare

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

2. Modificando il tipo di dati del parametro

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.

Diamo un esempio reale:

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

Precauzioni

  • 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.