Junior
Mitől különböznek két módszer, hogy túlterhelésnek tekintsük őket?
sobes.tech MI
Válasz az MI-től
Ahhoz, hogy két módszert túlterhelésnek tekintsünk, azoknak a következő feltételeknek kell megfelelniük:
- Ugyanaz a metódus neve. A metódusok neve azonos legyen.
- Különböző metódusszignatúra. A metódus szignatúrája magában foglalja a metódus nevét és a paramétertípusok listáját (számukat, sorrendjüket és típusukat). A metódus visszatérési típusa nem része a szignatúrának, és nem befolyásolja a túlterhelést.
Példák:
class Example {
void print(int num) { // Szignatúra: print(int)
System.out.println(num);
}
void print(String text) { // Szignatúra: print(String)
System.out.println(text);
}
void print(int num, String text) { // Szignatúra: print(int, String)
System.out.println(num + " " + text);
}
// Ez nem túlterhelés, mert a print(int) szignatúra ismétlődik
// int print(int num) {
// return num;
// }
}
Tábla, ami a túlterhelés példáit mutatja:
| Metódus neve | Paramétertípusok | Ugyanazok / különböző módszerek | Túlterhelésnek számít? | Ok |
|---|---|---|---|---|
calc |
(int, int) |
Különböző | Igen | Különböző szignatúra (paraméterek száma és típusai) |
calc |
(double, double) |
Különböző | Igen | Különböző szignatúra (paramétertípusok) |
calc |
(int, int, int) |
Különböző | Igen | Különböző szignatúra (paraméterek száma) |
calc |
() |
Különböző | Igen | Különböző szignatúra (paraméterek száma) |
calc |
(int, int) |
Ugyanaz | Nem | Ugyanaz a szignatúra |
calculate |
(int, int) |
Különböző | Nem | Más metódusnév |