new-Operator

Kürzlich dachte ich, dass ich langsam verstehe, aber nachdem ich folgendes sah, verstehe ich doch noch so gut wie nichts.:(
Weiß schon garnicht mehr wie ich fragen und dabei den Thread-Betreff richtig schreiben soll.:confused:

Es geht um folgende, nicht zusammenhängende, new Operatoren:
Java:
public Liste (int wert) {
listenKopf = new ListenElement (wert);}


BaumKnoten wurzel = new BaumKnoten(6);


public Baum (int wert) {
wurzelKnoten = new BaumKnoten(wert);}
Warum wird einmal die Variable vor, sowie gleichzeitig nach dem new "deklariert"(?) - gut zu sehen bei
Java:
BaumKnoten wurzel = new BaumKnoten(6);
und warum wird bei den anderen zwei Beispielen nach der Variablen und dem new wieder eine andere Variable "deklariert"?

Edit:
Ok, das hintere sind also irgendwelche Klassen.
Beispiele stammen von hier.

Eine Klasse ListenElement gibt es auch als public class (#9.1).
Ebenso BaumKnoten als public class (#9.2).
 
Zuletzt bearbeitet:
Warum wird einmal die Variable vor, sowie gleichzeitig nach dem new "deklariert"(?) - gut zu sehen bei
Die Variable wird nur einmal deklariert und zwar "vor ihrer Verwendung".

Mit new BaumKnoten(6) wird ein neues BaumKnoten-Objekt erzeugt (an den Konstruktor wird ein int-Wert, nämlich 6, übergeben - ist aber Nebensache). Die Referenz auf dieses neu erzeugte BaumKnoten-Objekt wird anschließen in der Variablen wurzel gespeichert. Diese Variable wird BaumKnoten wurzel vom Typ BaumKnoten.
 
Eigentlich ganz einfach:

Wenn du eine Variable deklarierst, dann legst du zunächst einmal den Typ und den Namen fest, z.B.

int zahl; // eine Variable vom Typ int mit dem Namen zahl

oder

BaumKnoten wurzel; // eine Variable vom Typ BaumKnoten mit dem Namen wurzel

Die Variable hat aber noch keine Inhalt.

zahl = 5; // weißt der Variablen zahl den Inhalt 5 zu

oder

wurzel = new BaumKnoten(6); // erzeugt eine Instanz der Klasse BaumKnoten und weißt diese der Variablen wurzel zu

Das ganze geht natürlich auch in einer Zeile:

BaumKnoten wurzel = new BaumKnoten(6);
 
@temi
Variablen-Deklaration und - Initialisierung sind mir schon bekannt.;)
Dann hättest du die Fragen ganz am Anfang nicht stellen müssen. Denn das sind alles nur Deklarationen und Initialisierung.

Edit: Ok - zwei davon sind keine Deklaration, sondern nur die Zuweisung eines Wertes. Aber die Zuweisung eines Wertes sollte ja noch einfacher sein, wenn man sich mit Deklaration und Initialisierung von Variablen schon auskennt. :cool:
 
Zuletzt bearbeitet:
Wenn ich jetzt nicht ganz daneben liege (da ich mir z.Zt. doch vieles ansehe und vieles lese), dann hat mir u.a. folgendes Video schon ein bisschen geholfen das mit dem new-Operator besser zu verstehen:

Vll. hilft es ja auch dem ein oder anderen Einsteiger (deshalb habe ich es erwähnt).;)
 
Wenn ich jetzt nicht ganz daneben liege (da ich mir z.Zt. doch vieles ansehe und vieles lese), dann hat mir u.a. folgendes Video schon ein bisschen geholfen das mit dem new-Operator besser zu verstehen:

Vll. hilft es ja auch dem ein oder anderen Einsteiger (deshalb habe ich es erwähnt).;)
Der Begriff "Klassenvariable" wird in dem Video nicht ganz korrekt verwendet. Darum: Vorsicht welche Tutorials du anschaust. Es gibt da auch viel Zweifelhaftes.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben