Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Java » static innerhalb von Funktionen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
18.04.2004, 10:49 Uhr
~Marco
Gast


Hi,

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.


C++:
void beispiel()
{
static int = 1;
}



Wie kann ich so etwas mit Java machen?

Vielen Dank schonmal

Marco
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.04.2004, 12:21 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ich würd mal sagen einfach global definieren dann ist sie auch dein ganzes programm über gültig...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.04.2004, 12:26 Uhr
Pablo
Supertux
(Operator)


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()
{
    static int 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.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.04.2004, 13:03 Uhr
(un)wissender
Niveauwart


so tut das!
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.04.2004, 14:35 Uhr
~Marco
Gast


@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.


mfg

Marco
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.04.2004, 23:34 Uhr
(un)wissender
Niveauwart


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.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
18.04.2004, 23:58 Uhr
Pablo
Supertux
(Operator)


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!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
19.04.2004, 18:58 Uhr
typecast
aka loddab
(Operator)


@(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)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
19.04.2004, 19:42 Uhr
(un)wissender
Niveauwart


Sach an, das geht nicht?!
Ich könnte schwören ich habe das mal gemacht...
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
19.04.2004, 19:44 Uhr
(un)wissender
Niveauwart


Jo, das geht nicht nicht, erstaunlich, da verwischen bei mir wohl die Grenzen zwischen C/C++ und Java.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Java ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: