Auf Thema antworten

Statische Methoden verwirren mich nicht allzu sehr,

mich verunsichern eher wie im Eingangs Beispiel statische Attribute , die aber modifiziert werden.


Wie hier scheint ja die static vairable shcon per se zu existieren, wird aber durch jede Konstrukturoaufrufung erneut verändert.


Und ich kann mir geistig einfahc nicht recht klar machen ab wann ein statisches Attribut beginnt zu existieren?


Existiert es schon solange es ein Programm mit einer Klasse mit dem attribut im selben ordner gibt?

Existert es erst wenns kompiliert ist?

Oder erst wenn das Programm auch ausgeführt wurde und dmait die Main methode der Klasse ausgeführt wurde (namentlich 'java Klassenname' in der Konsole)?


Bei Klassen mit nicht-statischen Attributen ist es klar:

Ab Objekterzeugung existiert auch jenes Objekt Attribut.


Aber ein auch bei Nicht-Instanzierung exisiterendes Attribut, wo oder wann beginnt dessen Leben? :O


ich meine, wenn ich bspw. 2 java Programme A und B mit entsprechender Klasse drin habe und A enthält ein statisches Attribut 'static int v=5;, kann ich dann das Programm B ausführen lassen und darin mittels A.v auf das Attribut mit Wert 5 zugreifen obwohl ich weder die Klasse A ausühre noch irgendein objekt dieser Klasse erzeuge im Rahmen meines ausgeführten B Programms?


Ab wann wird überhaupt die variable A.v mit dem Wert 5 initialisiert? Ist sie es von Anfang an? oder wird sie erst definiert und initialisiert wenn an mittels A.v versucht auf sie und ihren Wert zuzugreifen?


Kurzum wann beginnt oder endet der lebensbereich einer Klassenvaraible oder -attributs?

Beim Objekt hängt Alles darin von der lebensdauer des Objekts ab.

Aber bei einer Klasse, die ja im Prinzip keinen durch ein Programm oder Befehl hervorgerufenen Beginn hat?



Oben