Konstruktor im Konstruktor

ZodiacXP

Erfahrenes Mitglied
Aufgabe ist es einen Konstruktor im Konstruktor zu implementieren.

Der eigentliche Konstruktor hat Beispielsweise 3 Parameter.

Der zweite (per overloading) hat nur 2, soll den Konstruktor mit 3 nutzen und den fehlenden Parameter mit einem Standardwert belegen.

Code:
class Foo {
  Foo (int f, int o, string oo) {
    ...
  }
  Foo (int f, int o) {
    Foo(f, o, ""):
  }
}

So, mal als Beispiel. Das gefällt JAVA natürlich nicht. Wie macht man es richtig?
 
Code:
class Foo {
  Foo (int f, int o, string oo) {
    ...
  }
  Foo (int f, int o) {
    this(f, o, ""):
  }
}
 
hmmm die Korrektur ist mir da nun nicht ganz klar. Mal abgesehen vom this sieht es aus wie das vorangegangene Beispiel, oder habe ich da etwas übersehen?
also zunächst sollte man anstelle von string syntaktisch korrekt String schreiben. Dann ist der Doppelpunkt vermutlich auch Zeichen des Anstoßes für den Kompiler, versuch es doch mal mit einem Semikolon ;-)
ansonsten müsste es aber gehen.
Wenn Du den Konstruktor außerhalb des Packages nutzen möchtest sollte er public sein.
 
Durch den Aufruf des ersten Konstruktors mit 2 Parametern erzeugst du ja schon ein Objekt, auf das du dann mit this zugreifen kannst.

So wie du das gemacht hast, nochmal mit Foo, würdest du ja ein zweites Objekt erzeugen wollen und das t nicht (du hast ja schon einst, drum this).

Gruß
Flo
 
Zurück