ich habe bisher nur unter C++ programmiert. Dort konnte ich in einer Funktion eine Variable mit static deklarieren. Diese war dann auch noch verfügbar, wenn die Funktion beendet wurde. Ich hatte sozusagen eine globale Variable, die immer gültig war, aber auf die man nur innerhalb dieser Funktion zugreifen konnte.
Globale Variablen á la C/C++ ist in Java nicht möglich. Mach innerhalb der Klasse eine Variable für die Klasse.
Vielleicht funktioniert dein Code nicht
C++:
void beispiel() { staticint x= 1; }
weil du den Namen der Variable vergessen hast. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth!Dieser Post wurde am 18.04.2004 um 12:26 Uhr von Pablo editiert.
@Pablo: Diesen Code verwende ich ja gar nicht. Habe ich nur auf die Schnell hier hingemacht, damit ihr wisst, welches static ich meine.
@alle: Wenn ich euch richtig verstanden habe, dann gibt es diese elegante C++-Lösung leider in Java nicht und ich muss extra eine Variable innerhalb der Klasse dazu verwenden. So hatte ich es bisher auch gemacht. Die Lösung hatte mir halt nicht gefallen.
Nee, dass gibt es auch in Java, nur muss die Funktion halt in einer Klasse sein, weil es in Java keine standalones gibt. Kannst die Funktion allerdings auch static machen, und dann haste so ziemlich das gleich wie in C++. -- Wer früher stirbt ist länger tot.
Aber muss nicht die Funktion auch static sein, wenn eine Variable der Funktionen static ist? Oder gilt das nur für Funktionen, die static Funktionen aufrufen? -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth!
@(un)wissender: Welchen Compiler benutzt du, dass das funktioniert? Eine static-Variable in einer Funktion zu deklarieren, hab ich bis jetzt noch nie gesehen. Deshalb hab ich es mal ausprobiert und bekam folgenden Fehler:
Code:
test.java:11: illegal start of expression static int t; ^
(Was ich selber auch erwartet habe...) Deshalb würde ich gerne wissen, welcher Compiler das unterstützt. -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)