Hallo,
ich habe eine Frage zur Objekt-Initialisierung.
Beim Konstruktor-Aufruf wird ja die Initialisierung angestoßen, ich denke ich lieg richtig mit der Annahme dass das in folgender Reihenfolge abläuft:
1) (impliziter) super-Konstruktor-Aufruf
2) Instanzvariablen werden angelegt (evtl mit Wertzuweisung), und Init-Blöcke werden ausgeführt (in der Reihenfolge wie im Code deklariert)
3) Konstruktor-Rumpf wird ausgeführt (bzw im falle eines expliziten super-aufrufs halt alles was danach kommt)
richtig?
Jetzt frage ich mich folgendes:
Wie/wann werden eigentlich Instanz-Methoden.. tja.. "registriert"? Oder "angelegt"?
Also ich meine: Die Methoden sind ja nix was irgendwie im Stack oder Heap liegt, oder?
Passiert damit irgendwas bei jeder Instanz-Erzeugung? Wie kann man sich das eig. vorstellen, ich meine Instanz-Variablen werden im RAM reserviert, aber woher zieht Java eig. die Methoden?
Also wann, wo und wie speichert er Instanz-Methoden?
Ich hoffe ihr versteht was ich meine
danke, lg!
ich habe eine Frage zur Objekt-Initialisierung.
Beim Konstruktor-Aufruf wird ja die Initialisierung angestoßen, ich denke ich lieg richtig mit der Annahme dass das in folgender Reihenfolge abläuft:
1) (impliziter) super-Konstruktor-Aufruf
2) Instanzvariablen werden angelegt (evtl mit Wertzuweisung), und Init-Blöcke werden ausgeführt (in der Reihenfolge wie im Code deklariert)
3) Konstruktor-Rumpf wird ausgeführt (bzw im falle eines expliziten super-aufrufs halt alles was danach kommt)
richtig?
Jetzt frage ich mich folgendes:
Wie/wann werden eigentlich Instanz-Methoden.. tja.. "registriert"? Oder "angelegt"?
Also ich meine: Die Methoden sind ja nix was irgendwie im Stack oder Heap liegt, oder?
Passiert damit irgendwas bei jeder Instanz-Erzeugung? Wie kann man sich das eig. vorstellen, ich meine Instanz-Variablen werden im RAM reserviert, aber woher zieht Java eig. die Methoden?
Also wann, wo und wie speichert er Instanz-Methoden?
Ich hoffe ihr versteht was ich meine
danke, lg!