Abarbeitungsreihenfolge von Konstruktoren

Need_Help1993

Bekanntes Mitglied
Hey. ich bearbeite gerade eine übungsaufgabe, in der ich angeben soll in welcher reihenfolge die einzelnen Konstruktoren aufgerufen werden, wenn aus einer externen Klasse folgende Konstruktoraufrufe getätigt werden:
Ich brauche also die Abarbeitungsreihendolge der Konstruktoren.

1. new Y() (müsste Konstruktor D aufrufen?)
2. newY (0, false) (müsste eig. zuerst Konstruktor F aufrufen?)
3. newY(0) (müsste Konstruktor E aufrufen?)

Java:
public class X
{
X()
//Konstruktor A
{
}

X(int a)
//Konstruktor B
{
this();
}

X (int a, String b)
//Konstruktor C
{
}
}
und
Java:
class Y extends X
{
Y()
// Konstruktor D
{
}

Y(int a)
//Konstruktor E
{
super(a);
}

Y(int a ,boolean c)
//Konstruktor F
{
super(a, "none");
}
}
 
Zuletzt bearbeitet von einem Moderator:
Mach doch einfach eine Ausgabe
Code:
System.out.println("Konstruktor ...")
in die Konstruktoren, dann siehst du selbst welcher Konstruktor wann aufgerufen wird.
 
genau das probiere ich ja gerade...
ich habe eine 3. klasse (test) erstellt und versuche jetzt die konstruktoren aufzurufen.
aber da ich noch anfänger bin weiß ich nicht, wie ich die aufrufen soll, bzw. wo ich das system.out.println hinschreiben muss...

meine testklasse sieht folgendermaßen aus

Java:
public class Testclass {

get new Y();
}
 
Zuletzt bearbeitet von einem Moderator:
Hi 😉

Gibt es dazu nix im Internet? Ein Buch oder sowas. Du hast noch ganze Anfängerlücken, die im jeden Buch in den ersten drei Kapitel behoben werden.

Und nach 20 Minuten hier ein Toöic pushen ist nicht die Norm.
 
ich weiß, dass ich die habe. ich habe auch genug bücher (Java ist auch eine Insel und Sprechen sie Java) aber ich habe bisher einfach nicht die zeit gehabt sie zu lesen.... also muss ich mich so durchschlagen. und um so schneller ich die aufggaben lösen kann um so schneller habe ich zeit um mir mal das buch durchzulesen
 
Hmm.. Dann lese die Bücher nicht nach sondern schlage es nach.

@final_striker: Deine Bemühungen in allen Ehren, aber wenn man sich ansieht, wie der TO seine Testklasse aufbaut wird das nur mehr Fragen aufwerfen.
 
so. habs jetzt selbst hinbekommen.
in der testklasse steht:
Java:
 public class Testclass {
Y Test = new Y(0); //hier eben immer der jeweilige gesuchte konstruktor
}

jetzt spuckt er aus:
für 1. A, D
2. C,F
3. A,B;E

stimmen die Lösungen so?
 
Zuletzt bearbeitet von einem Moderator:
Du erstellst dir eine Klasse die eine main Methode enthält und rufst einfach mal
Code:
new Y()
. Wenn du dann durchgestiegen bist was wann aufgerufen wird nimmst du den zweiten aufruf, usw. 😉

EDIT:
Geh doch einfach mal davon aus, dass Java dich nicht anlügt 😉
Jetzt kannst du dir mal überlegen/nachschlagen WARUM die ausgabe so ist wie sie ist.
 

Zurück
Oben