# static umgehen



## shed1 (15. Sep 2005)

Hallo!

Ich habe eine static methode in der ich natürlich nur static variablen verwenden kann.
Gibt es trotzdem eine Möglichkeit oder einen Trick auf einen non-static variable zu zugreifen?

Danke!
lg shed


----------



## Oni (15. Sep 2005)

sich eine getter-methode schreiben 


```
public class MeineKlasse{

  int var = 10;

  public int getZahl(){
    return var;
  }
}
```

brauchst halt ein objekt von der klasse, die die mehtode hat.
z.B.


```
MeineKlasse mk = new MeineKlasse();
int neueZahl = mk.getZahl();
```


----------



## bygones (15. Sep 2005)

wie Oni schon meint - ein Objekt der Klasse erstellen und dann gehts


----------



## na-oma (15. Sep 2005)

Allerdings kann ich mir (im Moment, bin Anfänger) keinen Grund vorstellen, aus dem man aus einer statischen Methode auf eine Nicht-statische Variable zugreifen müsste (Ausser man erstellt in main ein Objekt der Klasse die main enthält oder so). Statisch heisst doch eben, dass es kein spezielles Objekt gibt, wenn ich mir eines erstelle, dann weiss ich doch a) nicht welchen Konstruktor ich aufrufen müsste und b) is doch der Sinn von static fast dahin oder?

Belehrt mich bitte


----------



## Solour (15. Sep 2005)

"Gibt es trotzdem eine Möglichkeit oder einen Trick auf einen non-static variable zu zugreifen? "
ich würd sagen das das nix mit trick zu tun hat...
ich glaub eher das dir nicht ganz klar ist was static/non-static ist..


----------



## thE_29 (15. Sep 2005)

Trick:

Wenn du weißt das bevor du in diese statische Methode gehst, eine nicht statische Methode aufgerufen wird, dann setze dort die Werte die du nachher haben willst, auf statische Variablen und nachher fragst du in deiner statischen Methode auf diese statischen Dinger ab, anstatt auf die orig.

Könntest du eventuel mit Listener, oder ähnlichen "rumpfuschen" um so ein refreshen zu erzwingen...


----------

