Globale Variablen

Status
Nicht offen für weitere Antworten.

guni

Bekanntes Mitglied
Hallo Leute,

habe ein Programm das aus mehreren Klassendateien besteht. Einzelne Variablen gelten für jede Klasse!
Wie kann ich sie in jeder Klasse verwenden, ohne, dass ich sie neu aufrufe / in der main-Methode an den Konstruktor übergebe? Gibt es da eine elegantere Möglichkeit?
ich hab dazu mal ein paar Dinge gehört:

Interfaces implementieren mit public Variablen
util.properties
util.preferences

ad. Interfaces:
manche schlagen das als ganzbaren weg vor; andere bezeichnen es als Missbrauch. Irgendwelche Pros/Contras zu dem Thema?

ad. properties / preferences:
was genau ist der Unterschied (Vor-/Nachteil), wenn ich meine Einstellungen in der einen oder anderen Variante speichere?
Um die Einstellungen dann in jeder Klasse nutzen zu können, muss ich doch eh wieder in jeder Klasse ein properties.loadFromXml oder sowas aufrufen.

was haltet ihr von der Variante:

public abstract class Main {

protected Type setting1;
protected Type setting2;
protected Type setting3;
protected Type setting4;
protected Type setting5;
protected Type setting6;
protected Type setting7;
...

public Main() {
// assign settings
}
}

ab da:

public class irgendwas extends Main {

public irgendwas() {
super();
}

}

ich denke, wenn ich alle meine Klassen von Main ableite hab ich nur das Interface-Konzept auf Klassen verschoben; das is auch nicht schön, oder?!

und noch eine Frage: bei Properties/Preferences muss ich meine Werte zur Laufzeit casten, oder? Ich kann nicht definieren, dass Properties einen Integer oder einen Double oder sonstwas zurückgibt, oder? Wie speichern diese Klassen komplexe Objekte? (z.B. Properties.put(key,new LinkedList()) ...

lg, guni
 

0x7F800000

Top Contributor
Interfaces implementieren mit public Variablen
Interfaces die keine funktionalität definieren finde ich ecklig und verwirrend.

Mach's doch einfach wie zB. in der Math-Klasse:
Code:
class Math{
   public static final double PI=3.3;
}
Dann kannst du in jeder anderen Klasse entweder direkt über Math.PI darauf zugreifen, oder die ganze Math klasse statisch importieren... Find ich schöner.

edit: oder sollen es keine konstanten, sondern variablen sein? ???:L
 

guni

Bekanntes Mitglied
doch. es sind schon konstanten. genaugenommen sind es irgendwelchen programmeinstellungen mit denen das programm gestartet wird.

für wie schön würdet ihr den ansatz halten, wenn ich eine eigene klasse Settings mache, die nur public static (final) variables enthält?

und was is der unterschied zwischen util.properties und util.preferences?

lg, guni
 

0x7F800000

Top Contributor
Hmm, so eine singletonige Gott-Klasse, die alle Einstellungen speichert? :bahnhof:
Bist du dir sicher, dass du diese in _so_vielen_verschiedenen_ anderen Klassen brauchst?
Sind es nicht vielleicht doch nur 10% oder so? Wäre es da nicht angebrachter, diese "Settings" zu einer normalen Klasse zu machen, und die Referenz darauf ganz normal über Konstruktoren usw. weiterzureichen und normal in member-variablen abzuspeichern?
 

0x7F800000

Top Contributor
Solang's FINAL's sind, ist das okay. Wenn da aber irgendwas veränderbares drin ist, ist das nicht mehr schön.
 

guni

Bekanntes Mitglied
nein. ich brauche sie eigentlich fast immer nur in einer einzigen klasse.
aber ich hätte sie ganz gern an einem ort definiert, weil ich irgendeine funktionalität einbauen möchte, dass man sie als user des programmes ändern kann.
bin nur noch nicht sicher was:

- properties-Datei
- System.getProperty
- preferences (verstehe ich noch nicht ganz!)

lg
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Vererbung/Globale Variablen Java Basics - Anfänger-Themen 8
D globale Variablen zur Laufzeit erzeugen Java Basics - Anfänger-Themen 5
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