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 |