In Java gibt es zwei Arten von Polymorphismus: Überladung und Überschreibung. Methodenüberladung ist eine der beiden Arten von Polymorphismus.
Beispiel: Wenn Sie eine Person bitten, die Operation „Bereich suchen“ durchzuführen, fragt sie Sie möglicherweise, nach welchem Bereich Sie suchen?
Funktioneller Polymorphismus bedeutet, dass unterschiedliche Nachrichten an Funktionen übergeben werden können, sodass das Objekt basierend auf den entsprechenden Nachrichten entsprechende Verhaltensweisen erzeugen kann. Das Verhalten eines Objekts wird durch die Methoden in der Klasse widergespiegelt, daher ist der Polymorphismus des Verhaltens die Überladung von Methoden.
Syntaxregeln für Methodenüberladung:
Methodenüberladung bedeutet, dass es in einer Klasse mehrere Methoden mit demselben Namen geben kann, die Parameter dieser Methoden jedoch unterschiedlich sein müssen. Entweder ist die Anzahl der Parameter unterschiedlich, oder die Anzahl der Parameter ist gleich, aber der Typ eines entsprechenden Parameters in der Parameterliste ist unterschiedlich.
Zum Beispiel:
classPeople{floathello(inta,intb){returna+b;}floathello(longa,intb){returna-b;}doublehello(doublea,intb){returna*b;}}publicclassMain{publicstaticvoidmain(Stringargs[]){Peopletom= newPeople();System.out.println(tom.hello(10,10));System.out.println(tom.hello(10L,10));System.out.println(tom.hello(10.0,10) );}}
Die Laufergebnisse sind wie folgt:
20.00.0100.0
Beachten:
Wenn zwei Methoden denselben Namen haben, müssen die Parameter unterschiedlich sein, auch wenn die Rückgabetypen unterschiedlich sind.