Με τη μέθοδο Overloading, μπορούν να υπάρχουν πολλές μέθοδοι με το ίδιο όνομα, αλλά με διαφορετικές παραμέτρους:
public class Example { 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); } }
Στο παραπάνω παράδειγμα, υπάρχουν δύο μέθοδοι με το όνομα plusMethod
, αλλά με διαφορετικούς τύπους παραμέτρων. Καλούμε τη μέθοδο plusMethod
δύο φορές, μία φορά με δύο ακέραιες παραμέτρους και μία φορά με δύο παραμέτρους double. Το πρόγραμμα εκτυπώνει τα αποτελέσματα των δύο κλήσεων της μεθόδου, ένα int και ένα double, αντίστοιχα.
Αντί να καθορίσουμε δύο μεθόδους που θα πρέπει να κάνουν το ίδιο πράγμα, είναι καλύτερο να χρησιμοποιήσουμε την μέθοδο Overloading.
Στο παράδειγμα παρακάτω, χρησιμοποιούμε τη μέθοδο plusMethod
για να δουλέψει και για int και για double:
public class Example { 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); } }
Στο παραπάνω παράδειγμα, χρησιμοποιούμε την ίδια μέθοδο plusMethod
για int και double, αλλά με διαφορετικούς τύπους παραμέτρων. Ανάλογα με τον τύπο των παραμέτρων που δίνονται στην κλήση της μεθόδου, θα καλείται η κατάλληλη υλοποίηση της μεθόδου, αλλά με το ίδιο όνομα.