Xebov hat gesagt.:
Hi
Kann mir jemand erklären was das static macht wenn mans davor setzt?
MFG
Xebov
Wenn du das Schlüsselwörtchen static vor eine Variable setzt sagst
du dem Compiler damit das die Variable zur ganzen Laufzeit über
existieren soll sprich wenn du eine lokale Variable als static deklarierst
wird sie beim verlassen des Blocks nicht gelöscht sondern bleibt
im Speicher erhalten...
In Punkto objektorientierung also bei Klassen, bedeutet static im
Prinzip dasselbe. Will heißen wenn du ein Attribut einer Klasse als
static deklarierst machst du sie zum Klassenattribut. Der Wert dieser
Variablen ist somit für alle Objekte gleich und es gibt nur ein
Exemplar dieser Variable (nicht wie bei einem normalen Attribut pro
Objekt, sondern einmal für alle Objekte) => eine Klassenvariable
exisitert unabhängig von der Existenz irgendwelcher Objekte dieser
Klasse.
//edit
@umbrasaxum
Der Wert muss nicht 1 am Ende des ersten Aufrufs deiner Funktions sein, da du die Variable nicht initialisierst...
Gruß
RedWing