Literatur

Überladen von Methoden

Wie bereits erwähnt, können Methoden überladen werden. Überladen bedeutet, dass derselbe Methodenname mehrfach in einer Klasse verwendet werden kann. Das Überladen findet häufig bei Konstruktoren oder Konvertierungsmethoden statt.
Damit das Überladen möglich ist, muss wenigstens eine der folgenden Vorraussetzungen erfüllt sein:

  1. Der Datentyp mindestens eines Übergabeparameters ist anders als in den übrigen gleichnamen Methoden.
  2. Die Anzahl der Übergabeparameter ist unterschiedlich.

Hier ein paar Beispiele aus der Java Klassenbibliothek  java.lang.Math

public static int abs (int)
public static float abs (float)
public static long abs (long)
public static double abs (double)


In der Methode abs wird der absolute Wert des übergebenen Parameters zurückgegeben. Da alle Methoden dieselbe Funktionalität bieten soll, wird die Methode überladen. Nur der Datentyp des übergebenen Parameters ist unterschiedlich. So muss man für eine mathematische Methode, die immer dasselbe macht, nicht für jeden Datentyp einen neuen Namen wählen.

Weitere Beispiele für überladene Methoden:

public void setWerte(int wert1, int wert2)
public void setWerte(int wert1, int wert2, int wert3)
public void setWerte(int wert1, float wert2)
public void setWerte(int wert1, short wert2)
public void setWerte(int wert1, String wert2)
public void setWerte(float wert1, int wert2, int wert3)
public void setWerte(int wert1, byte[ ] wert2, int wert3)


Auch ein Konstruktor kann auf diese Weise überladen werden.

Beispiel für einen überladenen Konstruktor:

public class Person
{   
    // Attribute
    String name;
    String vorname;
 
    Person()
    {    
          /* default Konstruktor */
    }
 
    // 1.überladener Konstruktor
    Person(String name)
    {
        this.name=name;
    }
 
    // 2.überladener Konstruktor
    Person(String name, String vorname)
    {
        this.name=name;
        this.vorname=vorname;
    }
}