globale Variablen zur Laufzeit erzeugen

derFrank

Mitglied
hallo zusammen,
ich sitze hier schon seit Tagen an einem Problem und komme NICHT weiter. Hoffe ihr könnt mir hier weiter helfen, da ich mit meinem überschaubaren Wissen auf keinen grünen Zweig komme. Ich bin dabei mit JavaFX eine Desktopapplikation zu erstellen. Zur Laufzeit bekomme ich hier zwei Userbezogene Tokens zugewiesen mit welchen dieser später auf private Daten Zugriff erfolgen soll. Lange Rede kurzer Sinn, das Problem:

- ich habe drei unterschiedliche Klassen A, B und C.
- Klasse A hat eine Funktion, die als Rückgabewert zur Laufzeit zwei Tokens bekommt
- diese hole ich mit Hilfe einer Funktion in Klasse B und verarbeite sie hier. Diese zwei Variablen sagen wir a & b sind nun lokale Variablen der Funktion (sagen wir funkB() ) der Klasse B.
Nun mein Problem: Ich brauch diese Werte als quasi lokale Instanzen der gesamten Klasse C. Muss also in der gesamten Klasse C von jeder Funktion drauf zugreifen können.
Hoffe ich habe mich einigermaßen verständlich ausgedrückt. Bin echt am verzweifeln. Bekomme es einfach nicht auf die reihe.

im Grunde also einfach sowas nur:

Java:
public class B{
             public String secret;
             public String token;

                    public void funkB(){...        
                    secret="abc";         //Strings werden hier generiert
                    token="def";
                    }
                  }
public class C{
             public String secretInC;     //hier bräuchte ich mein secret aus "B" für die gesamte Klasse C
             public String tokenInC;      //hier bräuchte ich mein token  aus "B" für die gesamte Klasse C

                    public void funkC(){  ....       
                    }
                  }

Gruß Frank
 
Zuletzt bearbeitet:

mabuhay

Bekanntes Mitglied
Hallo

- Klasse A hat eine Funktion, die als Rückgabewert zur Laufzeit zwei Tokens bekommt

Also... Klasse A hat eine Methode welcher du die zwei Tokens übergibst? Eine Methode kann normalerweise nur ein Objekt/Zahl oder was auch immer zurückgeben. Eine Funktion kann ja nicht etwas als Rückgabewert bekommen, sondern gibt etwas als Rückgabewert zurück.

Und wie du das schon in deiner Klasse B machst sind die variablen secret und token globale Variablen der Klasse B, da sie ja nicht in einer Methode stehen. Aber evtl hast du in der Klasse B die gleichen Variablen nochmals definiert? Dann versuchs mit this.secret und this.token.
Java:
public class B{
             public String secret;
             public String token;
 
                    public void funkB(){...
                    String secret;
                    String token;        
                    secret="abc";         //Strings werden hier generiert
                    token="def";
                    this.secret = "die globale variable";
                    this.token = "auch die globale variable";
                    }
                  }

Wenn du nun die Variablen in der Klasse C haben möchtest machst du entweder eine setter-Methode in der Klasse C und rufst die von der Klasse B aus auf, oder eine getter-Methode in der Klasse B und rufst die von der Klasse C aus auf. Musst halt das eine Objekt dem anderen übergeben, zum Beispiel im Konstruktor.

Beispiel mit setter-Methode:
Java:
public class C{
             private String secretInC;     //hier bräuchte ich mein secret aus "B" für die gesamte Klasse C
             private String tokenInC;      //hier bräuchte ich mein token  aus "B" für die gesamte Klasse C
 
                    public void funkC(){  ....       

                    }

        public void setSecret(String secret)  {
            secretInC = secret;
        }

        public void setToken(String token)  {
            tokenInC = token;
        }
}

public class B {
  
  private C classC = null;
  private String secret;
  private String token;

  public B (C classC) {
     this.classC = classC;
  }
 
  public void funkC(){...        
        secret="abc";         //Strings werden hier generiert
        token="def";
        classC.setSecret(secret);
        classC.setToken(token);
  }

}

Globale Variablen public zu machen ist eigentlich nicht so gut, da du dann nicht kontrollieren kannst wie darauf zugegriffen wird. Getter- und Setter-Methoden sind eine gute Möglichkeit und werden oft werdendet, wie du auch bei vielen Java-Objekten sehen wirst

mfg
 

derFrank

Mitglied
danke für die Antwort, aber das bekomm ich so nicht hin. Hab es am Anfang auf eine ähnliche Art und weise probiert. Vielleicht hab ich das Problem auch nicht zu 100% beschrieben da oben....
1. Ich habe eine Klasse A mit einer Methode.
2. mit Hilfe einer Klasse B Methode greife ich irgend wann auf die Methode der Klasse A welche mir einen Wert "XYZ" zurück gibt.
3. Wie schaffe ich es zu einem späteren Zeitpunkt auf den Wert "XYZ" mit Hilfe einer Methode der Klasse C zuzugreifen.

Das eigentliche Problem: Hinter der Methode die mir den Wert "XYZ" liefert verbirgt sich ein ganzes Login verfahren welches ich nur einmal im Betrieb aufrufen kann. Deswegen kann ich auch nicht einfach so mit gettern und settern arbeiten. Ich müsste also schon im Schritt 2 den wert so speichern, dass ich von da an für die Zeit einer Sitzung zugreifen könnte. Am leichtesten wäre es vielleicht den Wert in eine Datei zu schreiben und nach der Sitzung zu löschen. Was ist die leichteste Methode dowas zu tun?
Grüße Frank
 

Andi_CH

Top Contributor
danke für die Antwort, aber das bekomm ich so nicht hin. Hab es am Anfang auf eine ähnliche Art und weise probiert. Vielleicht hab ich das Problem auch nicht zu 100% beschrieben da oben....
1. Ich habe eine Klasse A mit einer Methode.
2. mit Hilfe einer Klasse B Methode greife ich irgend wann auf die Methode der Klasse A welche mir einen Wert "XYZ" zurück gibt.
3. Wie schaffe ich es zu einem späteren Zeitpunkt auf den Wert "XYZ" mit Hilfe einer Methode der Klasse C zuzugreifen.

Offensichtlich hat die Klasse A die Werte und kann das Loginprocedere abhandeln - wo ist also das Problem? Alle Klassen B - ZZZ greifen auf A zu und holen sich die Werte die sie brauchen

Wenn auch die Klasse C die Werte anbieten muss, müssen diese halt zuvor bei A beschafft werden.

Am besten zeichnest du ein UML Diagramm, dann ist es vielleicht einfacher zu erfassen...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Vererbung/Globale Variablen Java Basics - Anfänger-Themen 8
G Globale Variablen Java Basics - Anfänger-Themen 9
G Globale Variablen Java Basics - Anfänger-Themen 3
O globale variablen Java Basics - Anfänger-Themen 21
M Globale Variablen werden durch KeyListener nicht aktualisier Java Basics - Anfänger-Themen 10
F Globale Variablen wie in C++? Java Basics - Anfänger-Themen 5
J "Globale Variablen" Java Basics - Anfänger-Themen 26
S globale Variablen Java Basics - Anfänger-Themen 9
J Globale Variablen Java Basics - Anfänger-Themen 3
D Globale Variablen Java Basics - Anfänger-Themen 31
C Globale Variablen und Array mit verschiedenen Typen Java Basics - Anfänger-Themen 3
S globale Variablen Java Basics - Anfänger-Themen 7
P Globale Objekte Java Basics - Anfänger-Themen 2
T Globale Variable mehrmals verwenden Java Basics - Anfänger-Themen 7
Traxter Globale Variable ? Java Basics - Anfänger-Themen 11
Jackii Globale Variable aus anderer Klasse ändern... Java Basics - Anfänger-Themen 4
M Variablen Globale Variable? Java Basics - Anfänger-Themen 4
Luk10 Globale (semi-finale) Varibalen Java Basics - Anfänger-Themen 9
U Globale Proxy Einstellungen ändern Java Basics - Anfänger-Themen 3
B Globale vector? Java Basics - Anfänger-Themen 7
C lokale Variable verwenden statt globale Java Basics - Anfänger-Themen 7
B Methoden Globale Methoden "Toolbox" Java Basics - Anfänger-Themen 3
S globale Variable deklarieren Java Basics - Anfänger-Themen 10
E Globale int Variable? Java Basics - Anfänger-Themen 6
K Datentypen Globale Variable direkt initialisieren oder im Konstruktor? Java Basics - Anfänger-Themen 13
T Globale Variable wird nicht gefunden Java Basics - Anfänger-Themen 6
T Globale Variable (Font) Java Basics - Anfänger-Themen 21
G Müssen globale Funktionen immer "static" sein? Java Basics - Anfänger-Themen 13
A Globale Variable änderbar Java Basics - Anfänger-Themen 3
A Globale Methode ohne imports und übergeben? Java Basics - Anfänger-Themen 2
P textfarbe,textgröße, textart als globale einstellung Java Basics - Anfänger-Themen 7
D Globale Klassenvariablen. Java Basics - Anfänger-Themen 12
P Globale und ständige Überwachung eines Textfeldes auf text? Java Basics - Anfänger-Themen 40
M Superglobale globale Variable? Java Basics - Anfänger-Themen 10
P Globale Variable Java Basics - Anfänger-Themen 3
J "globale" variable definieren? Java Basics - Anfänger-Themen 7
S Globale Variable / Methode Java Basics - Anfänger-Themen 5
O Welcher Object-Lock-Pool bei static Variablen? Java Basics - Anfänger-Themen 3
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
T Variablen Java Basics - Anfänger-Themen 1
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
M Aufsummieren von variablen Wertegrößen Java Basics - Anfänger-Themen 17
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
ashi Variablen aufrufen Java Basics - Anfänger-Themen 17
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
C Konstruktoren und Variablen Java Basics - Anfänger-Themen 42
F Auf Variablen eines Konstruktors zugreifen Java Basics - Anfänger-Themen 4
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
B Variablen Variablen übertragen ohne Klassen Java Basics - Anfänger-Themen 5
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
Arif Vererbung Methodenvererbung mit finalen Variablen Java Basics - Anfänger-Themen 1
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
S Variablen Variablen in einer Schleife erstellen lassen Java Basics - Anfänger-Themen 11
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
F Variablen Werte einer Klasse überschreiben Java Basics - Anfänger-Themen 4
N Speichern von Werten in Variablen nach Schließen des Programms Java Basics - Anfänger-Themen 3
J Frage dazu Variablen klassenübergreifend zu verändern Java Basics - Anfänger-Themen 22
M Java Instanz-Variablen ? Java Basics - Anfänger-Themen 3
B Variablen von Methoden übertragen Java Basics - Anfänger-Themen 2
M Variablen umbenennen Java Basics - Anfänger-Themen 1
T Körper Brechnung - Lokale Variablen in Methoden übergeben Java Basics - Anfänger-Themen 10
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
mars90 Fehler in der Variablen Deklaration Java Basics - Anfänger-Themen 8
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
M Komisches Verhalten der Variablen Java Basics - Anfänger-Themen 6
H Variablen Multiplikation einer inkrementierten Variablen Java Basics - Anfänger-Themen 5
scratchy1 Variablen vertauschen wenn Bedingung "umgedreht" wird Java Basics - Anfänger-Themen 40
J Variablen mit einer anderen Klasse bekannt machen Java Basics - Anfänger-Themen 7
C Methoden Problem beim Speichern von Variablen Java Basics - Anfänger-Themen 1
A Übergreifende Variablen Java Basics - Anfänger-Themen 17
A Variablen Verständnisfrage bzgl. Variablen/Referenzen Java Basics - Anfänger-Themen 3
H Variablen Methode zum Abfragen von Variablen aus Subklassen Java Basics - Anfänger-Themen 9
P Variablen Variablen voneinander abhängig Java Basics - Anfänger-Themen 54
F Liste nach einer Variablen sortieren Java Basics - Anfänger-Themen 6
L Variablen in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
M For-Schleife durch zwei versch. Variablen begrenzen Java Basics - Anfänger-Themen 27
J Klassen Variablen in andere Klassen oder Methoden übernehmen Java Basics - Anfänger-Themen 1
P Liste auslesen und in Variablen speichern Java Basics - Anfänger-Themen 7
temi Redundante Variablen Java Basics - Anfänger-Themen 29
Aprendiendo Zweifel mit versteckter Variablen Java Basics - Anfänger-Themen 16
L Variablen einmal nur zu weisen Java Basics - Anfänger-Themen 62
D Statische Variablen/Methoden Java Basics - Anfänger-Themen 3
R Abfrage von Variablen in Unterklassen einer ArrayList Java Basics - Anfänger-Themen 9
M Listener für Button - Wert von Variablen verändern Java Basics - Anfänger-Themen 14
S Vererbung Variablen klassenübergreifend nutzen Java Basics - Anfänger-Themen 42
R Auf Variablen einer anderen Klasse zugreifen? Java Basics - Anfänger-Themen 1
D Fehlermeldung obwohl Variablen bereits deklariert sind? Java Basics - Anfänger-Themen 14
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
Aruetiise Variablen JFrame und Variablen Java Basics - Anfänger-Themen 3
L Variablen dekleration + reset Java Basics - Anfänger-Themen 16
T Übernahme einer Variablen im ActionListener/ActionEvent Java Basics - Anfänger-Themen 2
D Kapselung final Variablen mit Getter? Java Basics - Anfänger-Themen 2
C Variablen von einem JFrame in einen anderen übertragen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben