Konstruktor mit und ohne Parameterliste

ChrSli5385

Mitglied
Hallo liebe Java Profis, ich bin gerade ehrlich gesagt etwas verwirrt. Kennengelernt habe ich den Konstruktor wie folgt:

public class Mensch {

int alter;
String Haarfarbe;

//nun der Konstruktor - hier mit Parameterliste??


public void mensch(int alter; String haarfarbe) {
this.alter = alter;
this.haarfarbe = haarfarbe;
}
//nun einen Konstruktor ohne Parameterliste??

public void mensch(int pAlter,String pHaarfarbe){
pAlter = alter;
pHaarfarbe = haarfarbe;


}

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 :)
 

temi

Top Contributor
Beachte:

Der Konstruktor heißt so wie die Klasse (Groß-/Kleinschreibung!)

Auf den Sichtbarkeitsmodifikator (public, private) folgt direkt der Name des Konstruktors.

Ohne Parameter:
Java:
public Mensch() {}

bzw. sollte dann im parameterlosen Konstruktor eine sinnvolle Vorbelegung erfolgen:
Java:
public Mensch() {
    this.alter = 18;
    this.haarfarbe = "schwarz";
}

oder indem du im parameterlosen Konstruktor den zweiten Konstruktor aufrufst:
Java:
public Mensch() {
    this(18, "schwarz");
}
 
Zuletzt bearbeitet:

httpdigest

Top Contributor
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!).
 

ChrSli5385

Mitglied
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!
 

ChrSli5385

Mitglied
Spätestens bei einem Mensch mensch = new Mensch(18, "schwarz") wirst du bemerken, dass es keiner ist.
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 :D) . Anbei eine weitere Frage, wann sprechen wir dann von einem Konstruktor? Und wann ist dieser nicht mehr ohne Parameterliste?
 

ChrSli5385

Mitglied
Du willst damit sagen, dass euch exakt dieser Code:
Java:
public void mensch(int alter; String haarfarbe) {...}
als Konstruktor verkauft wurde? Ich vermute mal eher, dass du da falsch mitgeschrieben hast. :)
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
 

temi

Top Contributor
Uns wurde gesagt dass ein Konstruktor dazu dient einem neuen Objekt direkt Werte zuweisen zu können?
Stimmt. Im Beispiel sind dies das Alter und die Haarfarbe.
Und ein parameterloser Konstruktor wird verwendet, um die Klasse sinnvoll zu initialisieren.
Und wann ist dieser nicht mehr ohne Parameterliste?
Wenn er Parameter hat.
sollte ich vielleicht nur das "void" weglassen?? Sprechen wir dann von einem Konstruktor
Der Konstruktor heißt so wie die Klasse (Groß-/Kleinschreibung!)

Auf den Sichtbarkeitsmodifikator (public, private) folgt direkt der Name des Konstruktors.
 

ChrSli5385

Mitglied
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
 

temi

Top Contributor
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);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Konstruktor ohne Übergabe eines Wertes Java Basics - Anfänger-Themen 7
M Vererben von Superklasse ohne Konstruktor Java Basics - Anfänger-Themen 9
T Konstruktor mit oder ohne public-Bezeichner? Java Basics - Anfänger-Themen 4
A Konstruktor ohne Parameter Java Basics - Anfänger-Themen 15
G Mit oder ohne Konstruktor ? Java Basics - Anfänger-Themen 13
T paint() ohne konstruktor aufzurufen? Java Basics - Anfänger-Themen 5
W Null-Pointer trotz Konstruktor? Java Basics - Anfänger-Themen 9
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
T Schlüsselworte Schlüsselwort this im Konstruktor Java Basics - Anfänger-Themen 3
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
J Konstruktor Java Basics - Anfänger-Themen 18
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
G Welche Attribute kommen in den Konstruktor? Java Basics - Anfänger-Themen 5
M wird der Konstruktor nicht als 1. ausgeführt? Java Basics - Anfänger-Themen 13
G Konstruktor und update Java Basics - Anfänger-Themen 4
K Kopier-Konstruktor Java Basics - Anfänger-Themen 6
S Default Konstruktor Java Basics - Anfänger-Themen 7
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
J Vier gewinnt in Java,Spieler Konstruktor Java Basics - Anfänger-Themen 8
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10
Zeppi OOP Bruch kürzen im Konstruktor Java Basics - Anfänger-Themen 2
HorstSchröder Konstruktor mit Initialwert Java Basics - Anfänger-Themen 1
C Konstruktor ab serialisiertem Objekt Java Basics - Anfänger-Themen 4
J Input/Output Konstruktor ergänzen, der zur Datei mit einem Objekt passt Java Basics - Anfänger-Themen 0
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
B Konstruktor mit Array als Parameter Java Basics - Anfänger-Themen 3
G Variablen Array Länge über den Konstruktor definieren Java Basics - Anfänger-Themen 4
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
C Interface und Konstruktor Java Basics - Anfänger-Themen 1
H Generische Konstruktor Java Basics - Anfänger-Themen 12
MiMa Seltsames Verhalten im Konstruktor Java Basics - Anfänger-Themen 6
S Konstruktor passt nicht zum Rest Java Basics - Anfänger-Themen 11
C Unbekannter "Konstruktor"?? Java Basics - Anfänger-Themen 10
W OOP Warenlager mit Array(Konstruktor, Methoden) Java Basics - Anfänger-Themen 39
R Objekt in Konstruktor ist nicht zulässig Java Basics - Anfänger-Themen 5
A Mit einer Methode den Konstruktor aufrufen? Java Basics - Anfänger-Themen 2
B Warum können super() und this() nicht gemeinsam in einem Konstruktor verwendet werden? Java Basics - Anfänger-Themen 7
K Konstruktor für ein Objekt mit Zugriffsmethoden Java Basics - Anfänger-Themen 7
H Unterschied Konstruktor und Klassenname x = new Klassenname; Java Basics - Anfänger-Themen 3
B Klassen Array Parameter im Konstruktor? Java Basics - Anfänger-Themen 4
E Konstruktor mit Methode Java Basics - Anfänger-Themen 7
E ArithmeticException im Konstruktor Java Basics - Anfänger-Themen 4
S Konstruktor, Objekte Java Basics - Anfänger-Themen 4
F Konstruktor richtig implementiert? Frage zu Benutzereingaben... Java Basics - Anfänger-Themen 9
W Typecastin im Konstruktor? Java Basics - Anfänger-Themen 2
A Variablen Variablenwert über Konstruktor ändern Java Basics - Anfänger-Themen 3
F Arrays im Konstruktor Java Basics - Anfänger-Themen 5
L Instanzvariablen, Veerbung, Konstruktor Java Basics - Anfänger-Themen 32
E Best Practice Konstruktor mit bestehender Intanz der gleichen Klasse aufrufen Java Basics - Anfänger-Themen 4
E Plausibilitätsprüfung in dem Konstruktor mit Ausnahmebehandlung Java Basics - Anfänger-Themen 8
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 7
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 0
D Compiler-Fehler Konstruktor von Superklasse übernehmen Java Basics - Anfänger-Themen 1
P Counter im Konstruktor Java Basics - Anfänger-Themen 11
J toString-Methode in Verbindung mit varArgs-Konstruktor Java Basics - Anfänger-Themen 18
I Einträge in den Konstruktor Java Basics - Anfänger-Themen 3
Aprendiendo [JAVA-Syntax] (int... variable) bei einem Konstruktor Java Basics - Anfänger-Themen 8
J Superklassen Konstruktor Verständnisfrage Java Basics - Anfänger-Themen 1
G Int-Array im Konstruktor Parameter Java Basics - Anfänger-Themen 37
T Datentypen Warum mit Konstruktor Objektvariablen initalisieren? Java Basics - Anfänger-Themen 19
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
P Konstruktor. Java Basics - Anfänger-Themen 4
D Best Practice Objekt automatisch im Konstruktor füllen? Java Basics - Anfänger-Themen 9
D Objekt oder Konstruktor Java Basics - Anfänger-Themen 2
F Java default Konstruktor Java Basics - Anfänger-Themen 1
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
T Konstruktor mit Referenzdatentypen Java Basics - Anfänger-Themen 5
H Klassen Konstruktor Parameter als Instanzvariablen zwischen speichern... Java Basics - Anfänger-Themen 11
T setter im Konstruktor einbauen? Java Basics - Anfänger-Themen 8
R ArrayList im Konstruktor. Java Basics - Anfänger-Themen 4
T Konstruktor Probleme Java Basics - Anfänger-Themen 3
J Wie lässt sich der Konstruktor einer Klasse einer Funktion einer Klasse nutzen. Java Basics - Anfänger-Themen 4
S Variable, die im Konstruktor gesetzt wird, wird nicht gefunden vom Compiler. Java Basics - Anfänger-Themen 4
C Generic im Konstruktor Java Basics - Anfänger-Themen 1
F Privater Konstruktor und statische Methoden Java Basics - Anfänger-Themen 4
W Konstruktor von FileInputStream nicht gefunden Java Basics - Anfänger-Themen 18
B Methoden Konstruktor im Konstruktor aufrufen Java Basics - Anfänger-Themen 2
N Aufgabe: Pizza Konstruktor mit mehreren beliebigen Durchmesser/Preiskombinationen Java Basics - Anfänger-Themen 8
K arraygröße durch variablen Konstruktor? Java Basics - Anfänger-Themen 7
K ArrayList in Konstruktor - wie späterer Zugriff Java Basics - Anfänger-Themen 2
G Verwendung von Konstruktor Java Basics - Anfänger-Themen 8
X Übergabeparameter Konstruktor (File) Java Basics - Anfänger-Themen 13
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
C Konstruktor in Abstrakten Klassen Java Basics - Anfänger-Themen 4
B Konstruktor Problem Java Basics - Anfänger-Themen 8
Joew0815 konstruktor und damit erstellte objekte Java Basics - Anfänger-Themen 1
K Hashtable mit eigenen Konstruktor Java Basics - Anfänger-Themen 2
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
H Fehler im Konstruktor abfangen Java Basics - Anfänger-Themen 10
J Konstruktor Problem bei Vererbung Java Basics - Anfänger-Themen 1
I Java Eingabe aus einer anderen Klasse in eine andere an Konstruktor übergeben Java Basics - Anfänger-Themen 4
O Konstruktor und Default Konstruktor Java Basics - Anfänger-Themen 7
S Kapselung Objekt bei Übergabe an Konstruktor nicht initalisiert Java Basics - Anfänger-Themen 3
I Vererbung Frage zum Konstruktor Java Basics - Anfänger-Themen 5
Y Konstruktor - Setter/Getter Java Basics - Anfänger-Themen 3
P Konstruktor Java Basics - Anfänger-Themen 4
E Initialisierung von Attributen und Konstruktor Java Basics - Anfänger-Themen 0
H Compiler-Fehler NullPointerException bei .length, Konstruktor fehlerhaft? Java Basics - Anfänger-Themen 3
M Objekt Array an konstruktor übergeben und Initialisieren Java Basics - Anfänger-Themen 1
llabusch Vererbung Super Konstruktor Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben