# Funktion mit optionalen Parametern möglich?



## DennisXX (1. Jul 2010)

Kann man in Java eigentlich eine Funktion schreiben, die neben obligatorischen Parametern auch optionale Parameter enthält? Oder muss einer Funktion bei ihrem Aufruf immer die Parameter übergeben werden, die auch zuvor deklariert wurden?


----------



## Marco13 (1. Jul 2010)

Letzteres. Man kann was machen, was sich glaubich "Telescoping" nennt

```
void someMethod(int arg0)
{
    someMethod(arg0, someDefaultValue);
}
void someMethod(int arg0, int arg1)
{ 
    doSomething(arg0, arg);
}
```
Bei Konstruktoren tritt das manchmal auf, aber da ist das "Builder Pattern" IMHO eleganter. 

Sonst gibt's noch "varargs", wo man eine Beliebige _Anzahl_ Parameter gleichen Typs übergeben kann, die dann automatisch als Array in der Funktion ankommen.


----------



## energy47 (1. Jul 2010)

das nennt ´sich methoden überladen.. also rückgabe typ und methoden name identisch, unterschiedliche parameterliste.. es wird genau die methode genommen zu welcher deine parameter passen.
bei vererbung kann man die methoden auch überschreiben, da muss sie identisch mit der überschiebenen methode sein. zb macht man das bei toString oder equals methoden


----------



## faetzminator (1. Jul 2010)

In der Richtung gibts seit Java 5 was, nennt sich varargs. Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 3.10 Arrays


----------

