Überladung
Im vorherigen Abschnitt haben wir bereits die Überladung in der Klasse Person
verwendet, da sie drei Konstruktoren hatte. Das ist ein einfaches Beispiel. Die Überladung ist eine Eigenschaft, die es einer Klasse ermöglicht, mehrere Methoden mit demselben Namen zu haben. Dadurch können wir verschiedene Situationen behandeln und uns nicht verwirren. Typischerweise gibt es drei Möglichkeiten, die Überladung zu erreichen:
- Verschiedene Anzahl von Parametern
- Verschiedene Typen von Parametern
- Verschiedene Reihenfolge von verschiedenen Typen von Parametern
Beispiel:
Schreiben Sie folgenden Code in die Datei /home/labex/project/overloadingTest.java
:
public class overloadingTest{
public static void main(String[] args){
overloadingTest test = new overloadingTest();
System.out.println("add(10,20)= " + test.add(10,20));
System.out.println("add(10,20,30)= " + test.add(10,20,30));
System.out.println("add(5.5, 10.5)= " + test.add(5.5f, 10.5f));
test.printInfo(1, "an error!");
test.printInfo("another error!", 2);
}
// diese Methode hat zwei int-Parameter und gibt einen Integer zurück
int add(int a, int b){
return a+b;
}
// diese Methode hat drei int-Parameter und gibt einen Integer zurück
int add(int a, int b, int c){
return a+b+c;
}
// diese Methode hat zwei float-Parameter und gibt eine float-Zahl zurück
float add(float a, float b){
return a+b;
}
// diese Methode hat einen String-Parameter und einen int-Parameter und gibt nichts zurück
void printInfo(String str, int code){
System.out.println("Code: " + code + "\nMessage: " + str);
}
// diese Methode hat einen int-Parameter und einen String-Parameter und gibt nichts zurück
void printInfo(int code, String str){
System.out.println("Code: " + code + "\nMessage: " + str);
}
}
Ausgabe:
Führen Sie die Datei overloadingTest.java
mit folgenden Befehlen aus:
javac /home/labex/project/overloadingTest.java
java overloadingTest
Sehen Sie sich die Ausgabe an:
add(10,20)= 30
add(10,20,30)= 60
add(5.5, 10.5)= 16.0
Code: 1
Message: an error!
Code: 2
Message: another error!