# mehrere Konstruktoren für eine Klasse



## Toasterwilli (4. Okt 2005)

Ich wollte für meine Klasse mehrere Konstruktoren, wobei ich einen "Allzweck"-Konstruktor habe, dem sämtliche Parameter übergeben werden, die für die Klassse relevant sind, und die anderen bekommen jeweils nur einen Teil und rufen dann den ersten Konstruktor mit Standardwerten auf, so wie man das auch bei überladenen Funktionen machen kann. Aber der Compiler scheint das nicht zu mögen.

Hier mein Code:



```
public Event(int day, int month, int year, String name){
		eventTime = new Date(day, month, year);
		eventName = name;
	}

	public Event(int month, int year, String name){
		Event(0, month, year, name);
	}

	public Event(int year, String name){
		Event(0, 0, year, name);
	}
```

geht das nun wirklich nicht, oder hab ich bloß was übersehen?


----------



## Guest (4. Okt 2005)

```
public Event(int year, String name){ 
  this(0, 0, year, name); 
}
```
 :bae:


----------



## Toasterwilli (4. Okt 2005)

ja, habs schon gesehen und geändert. Das ist aber nicht der Punkt...
(selber  :bae: )


----------



## bygones (4. Okt 2005)

der aufruf über this ist scho korrekt.

was meckert denn der Compiler bei dir (das BITTE IMMER dazu schreiben... nicht einfach "mag das net" !!!)


----------



## Toasterwilli (4. Okt 2005)

die Meldung ist:


```
The method Event(int, int, int, String) is undefined for the type Event
```


----------



## Jörg (4. Okt 2005)

method?
kann es sein dass du den Konstruktor falsch aufrufst?


----------



## Bleiglanz (4. Okt 2005)

hast du das this wirklich überall eingefügt?

```
public Event(int day, int month, int year, String name){
      eventTime = new Date(day, month, year);
      eventName = name;
   }

   public Event(int month, int year, String name){
      this(0, month, year, name); // hier
   }

   public Event(int year, String name){
      this(0, 0, year, name); // und hier
   }
```


----------



## Toasterwilli (4. Okt 2005)

oh sorry, da hab ich mich vertan. Ich hab nämlich in meinem ersten Post einen kleinen Fehler, da stimmten die Anzahl der Parameter nicht ganz. Deswegen hab ich Gast´s 'this' gleich mal konsequent überlesen, weil ich dachte er hat damit die Parameter gemeint.

(Die Zunge nehm ich hiermit zurück! :wink: )


----------

