Sobes.tech
Junior

Šta treba da razlikuje dve metode da bismo ih mogli smatrati preopterećenim?

sobes.tech АИ

Одговор од АИ

Da bi se smatralo da su dve metode preopterećene, one moraju ispunjavati sledeće uslove:

  • Isto ime metode. Ime metoda mora biti identično.
  • Različit potpis metode. Potpis metode uključuje ime metode i listu tipova parametara (njihov broj, redosled i tipove). Tip povratne vrednosti metode nije deo potpisa i ne utiče na preopterećenje.

Primeri:

class Example {
    void print(int num) { // Potpis: print(int)
        System.out.println(num);
    }

    void print(String text) { // Potpis: print(String)
        System.out.println(text);
    }

    void print(int num, String text) { // Potpis: print(int, String)
        System.out.println(num + " " + text);
    }

    // Ovo nije preopterećenje, jer se potpis print(int) ponavlja
    // int print(int num) {
    //     return num;
    // }
}

Tabela koja ilustruje primere preopterećenja:

Ime metode Tipovi parametara Isti / različiti metodi Da li je preopterećenje? Razlog
calc (int, int) Različiti Da Različit potpis (broj i tipovi parametara)
calc (double, double) Različiti Da Različit potpis (tipovi parametara)
calc (int, int, int) Različiti Da Različit potpis (broj parametara)
calc () Različiti Da Različit potpis (broj parametara)
calc (int, int) Isti Ne Isti potpis
calculate (int, int) Različiti Ne Drugo ime metode