Eingabe in Variable speichern...



  • Hallo zusammen,

    ich hab eine Klasse die etwas über den BufferdReader einlesen soll. Das soll dann in einer Variablen abgespeichert werden und auch für andere Klassen verfügbar sein über eine getter Methode. Wenn ich nun aber versuche in der public static void main eine Eingabe einer Variablen zuzuweisen die ausßerhalb von public static void main liegt dann kommt der Fehler :" Cannot make a static reference to the non-static field variable(Das ist die die auch am Anfang der Klasse außerhalb der public static void main deklariert habe...)

    Oder gibts ne andere Möglichkeit eine Klasse anzulegen die Eingaben einlesen soll und auf "Wunsch" an andere Klassen diese Eingaben weitergibt?

    Gruß Daniel



  • Naja, du könntest dein Attribut static machen... Der Fehlermeldung entnehme ich zumindest mal, dass du das nicht gemacht hast.



  • Naja ohne Sourcecode ist sowas immer schwer, aber das hört sich nach einem beliebten Anfängerfehler an.
    Mach mal folgendes (Java-Pseudocode):

    public class MyClass {
    
      private String myVar;
    
      ...
    
      public static void main(String[] args) {
           new MyClass();
      }
    
      public MyClass() {
         //Hier im Konstruktor fängst du an deine ganzen Sachen zu machen. Nicht in der main-Methode, da die statisch ist.
    
       myVar = "Test";
       //Hier kannst du jetzt deine Sachen einlesen mit deinem Reader   
      }
    
      public String getMyVar() { return myVar; }
    
    }
    


  • Besten Dank. Funktioniert. Schönen Gruß Danjo


Log in to reply