Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
kennengelernt habe ich nur den ersten Fall, in einer weiteren Aufgabe heißt es nun dass man einen Konstruktor mit und einmal ohne Parameterliste erzeugen soll. Habe ich es in diesem Fall richtig gemacht?? Und selbst wenn verstehe ich nicht so ganz wozu das Ganze dienen soll. Wäre echt super wenn mir dies jJemand beantworten könnte, würde den Unterschied gerne verstehen. Vielen Dank im Voraus für eine Antwort
1. Keiner deiner beiden Methoden ist ein Konstruktor. Es sind Methoden mit void Rückgabetyp
2. Die erste Methode hat einen Syntaxfehler in der Parameterliste (Semikolon statt Komma)
3. Die Zuweisung `this.haarfarbe = haarfarbe` ist falsch, da das Attribut der Klasse nicht `haarfarbe` sondern `Haarfarbe` heißt.
4. Die Zuweisung `pAlter = alter` macht absolut keinen Sinn, da du hier den übergebenen Parameter `pAlter` mit dem mit 0 defaultmäßig vorinitialisierten Attribut (der Instanzvariablen) `alter` überschreibst. Das hat keinen Effekt.
5. Ebenso macht die nachfolgende Zuweisung `pHaarfarbe = haarfarbe` keinen Sinn, die auch noch einen Compilefehler drin hat (Casing von Haarfarbe!).
Danke für die schnellen Antworten, den ersten Fall haben wir nunmal als Konstruktor kennengelernt httpdiqest. Danke Temi, Groß-/Kleinschreibung werde ich ab jetzt beachten!
wir sind noch so ziemlich am Anfang... Uns wurde gesagt dass ein Konstruktor dazu dient einem neuen Objekt direkt Werte zuweisen zu können?? (Verwirrung ) . Anbei eine weitere Frage, wann sprechen wir dann von einem Konstruktor? Und wann ist dieser nicht mehr ohne Parameterliste?
wohl möglich ... sollte ich vielleicht nur das "void" weglassen?? Sprechen wir dann von einem Konstruktor oder was genau ist jetzt mein Fehler, mal abgesehen von Schreibfehlern
Stimmt. Im Beispiel sind dies das Alter und die Haarfarbe.
Und ein parameterloser Konstruktor wird verwendet, um die Klasse sinnvoll zu initialisieren.
Auf den Sichtbarkeitsmodifikator (public, private) folgt direkt der Name des Konstruktors. Und dann sprechen wir von einem Konstruktor. Gut, danke. Und wann ist dieser nicht mehr ohne Parameterliste? Wenn er Parameter hat.... Bin dankbar für jede Antwort, bitte nicht falsch verstehen, aber viel anfangen kann ich damit leider nicht, ist fast so als wenn ich einen Begriff mit dem gleichen Begriff erkläre, ein kurzes Beispiel wäre echt toll
Ich weiß jetzt nicht was am Begriff "Parameter" so schwer zu verstehen ist, aber bitte:
Java:
class Foo {
private int value;
// parameterloser Konstruktor
public Foo() {
this.value = 100;
}
// Konstruktor mit einem Parameter
public Foo(int value) {
this.value = value;
}
}
Verwendung:
Java:
// erzeugt eine Instanz von Foo mit value = 100
Foo foo1 = new Foo();
// erzeugt eine Instanz von Foo mit value = 42
Foo foo2 = new Foo(42);