Hallo Forum Menschen,
meine Frage ist eigentlich recht simpel, da ich nur gerne wissen möchte wie man so etwas denn nennt...
Ich hatte meinen Lehrer diesbezüglich gefragt und er meinte erstmal das gibt es nicht und als ich es ihm demonstriert hatte konnte er mir dazu natürlich auch nicht mehr viel sagen! -.-
Es ist irgendwie schwierig zu erklären und da ich sowas noch nie vorher gesehen habe und ich anderen gerne die Kopfschmerzen ersparen möchte welche ich dabei hatte gehe ich ein bisschen detailierter auf die Geschichte ein ....ich denke der beste Weg wäre mal mit ein
bisschen Code anzufangen
Ich bin vor kurzem auf Methoden gestoßen welche ohne Methodenkopf formuliert wurden, d.h. nur in geschweiften Klammern.
Beispiel:
Nach ein bisschen rum probieren habe ich bemerkt das Mehtoden, welche so deklariert sind, noch vor dem Konstruktor aufgerufen werden. (auf Sinn und Unsinn möchte ich hier bitte nicht eingehen!)
Beispiel:
...liefert folgendes Ergebnis:
So weit so gut! Jetzt gibt es das ganze auch noch mit dem 'static' Modifikator:
Diese Geschichte steht in der Hierachie wohl ganz oben, bessonders deutlich wird das bei der Vererbung, wie folgendes Beispiel zeigt:
Bei der Initialisierung der Child Klasse erhält man nun folgendes Ergebnis:
Ist eiegntlich nicht so wahnsinnig schwer zu verstehen und ich denke das Oracle das vermutlich auch ordentlich dokumentiert hat, es ist nur schwer nach etwas zu suchen wofür man den Namen nicht kennt...
Vielleicht ist ja einem von euch sowas schon mal unter gekommen.
Vielen Dank schon mal
Markus
meine Frage ist eigentlich recht simpel, da ich nur gerne wissen möchte wie man so etwas denn nennt...
Ich hatte meinen Lehrer diesbezüglich gefragt und er meinte erstmal das gibt es nicht und als ich es ihm demonstriert hatte konnte er mir dazu natürlich auch nicht mehr viel sagen! -.-
Es ist irgendwie schwierig zu erklären und da ich sowas noch nie vorher gesehen habe und ich anderen gerne die Kopfschmerzen ersparen möchte welche ich dabei hatte gehe ich ein bisschen detailierter auf die Geschichte ein ....ich denke der beste Weg wäre mal mit ein
bisschen Code anzufangen
Ich bin vor kurzem auf Methoden gestoßen welche ohne Methodenkopf formuliert wurden, d.h. nur in geschweiften Klammern.
Beispiel:
Java:
{System.out.println("komischeMethode");}
Nach ein bisschen rum probieren habe ich bemerkt das Mehtoden, welche so deklariert sind, noch vor dem Konstruktor aufgerufen werden. (auf Sinn und Unsinn möchte ich hier bitte nicht eingehen!)
Beispiel:
Java:
public class Beispiel {
{System.out.println("komischeMethode");}
public Beispiel() {
System.out.println("Konstruktor");
}
}
Code:
komischeMethode
Konstruktor
So weit so gut! Jetzt gibt es das ganze auch noch mit dem 'static' Modifikator:
Java:
static{System.out.println("nochSeltsamereMethode");}
Diese Geschichte steht in der Hierachie wohl ganz oben, bessonders deutlich wird das bei der Vererbung, wie folgendes Beispiel zeigt:
Java:
public class Parent {
static{System.out.println("PARENT");}
{System.out.println("parent");}
public Parent() {
System.out.println("parentConstructor");
}
}
public class Child extends Parent {
static{System.out.println("CHILD");}
{System.out.println("child");}
public Parent() {
System.out.println("childConstructor");
}
}
Bei der Initialisierung der Child Klasse erhält man nun folgendes Ergebnis:
Code:
PARENT
CHILD
parent
parentConstructor
child
childConstructor
Ist eiegntlich nicht so wahnsinnig schwer zu verstehen und ich denke das Oracle das vermutlich auch ordentlich dokumentiert hat, es ist nur schwer nach etwas zu suchen wofür man den Namen nicht kennt...
Vielleicht ist ja einem von euch sowas schon mal unter gekommen.
Vielen Dank schon mal
Markus