Przeciążanie metody Java
Przeciążenie metody
W przypadku przeciążania metod wiele metod może mieć tę samą nazwę z różnymi parametrami:
Przykład
int myMethod(int x)
float myMethod(float x)
double myMethod(double x, double y)
Rozważmy następujący przykład, który ma dwie metody dodawania liczb różnego typu:
Przykład
static int plusMethodInt(int x, int y) {
return x + y;
}
static double plusMethodDouble(double x, double y) {
return x + y;
}
public static void main(String[] args) {
int myNum1 = plusMethodInt(8, 5);
double myNum2 = plusMethodDouble(4.3, 6.26);
System.out.println("int: " + myNum1);
System.out.println("double: " + myNum2);
}
Zamiast definiować dwie metody, które powinny robić to samo, lepiej przeciążyć jedną.
W poniższym przykładzie przeciążamy plusMethod
metodę, aby działała zarówno dla jak int
i double
:
Przykład
static int plusMethod(int x, int y) {
return x + y;
}
static double plusMethod(double x, double y) {
return x + y;
}
public static void main(String[] args) {
int myNum1 = plusMethod(8, 5);
double myNum2 = plusMethod(4.3, 6.26);
System.out.println("int: " + myNum1);
System.out.println("double: " + myNum2);
}
Uwaga: Wiele metod może mieć tę samą nazwę, o ile liczba i/lub typ parametrów są różne.