Junior
Co musí odlišovat dvě metody, aby je bylo možné považovat za přetížené?
sobes.tech AI
Odpověď od AI
Aby byly dvě metody považovány za přetížené, musí splňovat následující podmínky:
- Stejný název metody. Název metod musí být stejný.
- Odlišná signatura metody. Signatura metody zahrnuje název metody a seznam typů parametrů (jejich počet, pořadí a typy). Typ návratu metody není součástí signatury a neovlivňuje přetížení.
Příklady:
class Example {
void print(int num) { // Signatura: print(int)
System.out.println(num);
}
void print(String text) { // Signatura: print(String)
System.out.println(text);
}
void print(int num, String text) { // Signatura: print(int, String)
System.out.println(num + " " + text);
}
// Toto není přetížení, protože signatura print(int) se opakuje
// int print(int num) {
// return num;
// }
}
Tabulka ilustrující příklady přetížení:
| Název metody | Typy parametrů | Stejné / odlišné metody | Je to přetížení? | Důvod |
|---|---|---|---|---|
calc |
(int, int) |
Odlišné | Ano | Odlišná signatura (počet a typy parametrů) |
calc |
(double, double) |
Odlišné | Ano | Odlišná signatura (typy parametrů) |
calc |
(int, int, int) |
Odlišné | Ano | Odlišná signatura (počet parametrů) |
calc |
() |
Odlišné | Ano | Odlišná signatura (počet parametrů) |
calc |
(int, int) |
Stejné | Ne | Stejná signatura |
calculate |
(int, int) |
Odlišné | Ne | Jiný název metody |