Wohin mit Konstanten?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

wollte mal wissen wie ihr Konstanten handhabt, die überall im Programm benötigt werden aber die der User nicht ändern können soll.

Also beispielsweise Konstanten wie der Programmname, die Programmversion usw. Diese würde ich gerne irgendwo zentral speichern, da ich sie mehrfach im Programm verwende, u.a. im Titel des JFrames, in einem "About..." Fenster usw.

Ich möchte sie aber ungern in einer Konfigurationsdatei speichern, da der Nutzer darauf keinen Zugriff haben soll und diese auch nicht beliebig ändern können soll.

Wollte daher mal wissen, wie ihr solche Konstanten handhabt?
 

Marco13

Top Contributor
Meinst du mit "User" jetzt den Endanwender, oder jemanden, der irgendwie auf dem Programm aufbaut oder so? Grundsätzlich kann man jede Änderung ja durch 'final' verhindern. Prinzipiell könnte das ganze also als "(public) static final" in einer eigenen Klasse stehen...
 

ARadauer

Top Contributor
Anonymous hat gesagt.:
Ich möchte sie aber ungern in einer Konfigurationsdatei speichern, da der Nutzer darauf keinen Zugriff haben soll und diese auch nicht beliebig ändern können soll.
In Java-Properties-Datei speichern

ich bin der meinung, das java properties, einfach textdatein sind....

wenn es zb um Texte geht, mach dir doch eine Texte Klasse...

public static final String ABOUT_TITEL = "und wir sind glücklich";


so könnte man es machen
 
G

Guest

Gast
Hi,

mit Nutzer meine ich den Endanwender.

Ja, eine eigene Klasse wäre eine Möglichkeit, das zu lösen.
Also ca. so:
Code:
public class Constants{
	public static final PROGRAMNAME = "Mein Programm";
	public static final PROGRAMVERS = "1.0";
	...
}

und wenn ich die Konstante dann brauche, mache hole ich sie mir so:
Code:
JFrame frame = new JFrame(Constants.PROGRAMNAME+" "+Constants.PROGRAMVERS);

Macht Ihr als erfahrene Java Programmierer dass auch so? Falls nicht, wie löst ihr das Problem?
 

JPKI

Top Contributor
Oder einfach in einer von der main-Methode als erstes aufgerufenen Methode in die System-Properties speichern und dann kannste alles im Programm abrufen.
Code:
public static void main(String args[]) {

initProperties();
LoadProgram();
}

public static void initProperties() {

Properites p = System.getProperties();
p.put(...);
}
 

ms

Top Contributor
Properties haben ja einen Key und einen Value.
Demnach wird der Key als Konstante (public static final ...) in der passenden Klasse deklariert und der Wert in der Property-Datei. Für Mehrsprachigkeit unumgänglich.
Es kann auch statt der properties-Datei eine Datenbank dahinter stecken.

ms
 

Janus

Bekanntes Mitglied
konstanten sollten immer so nah wie möglich an den klassen definiert sein, die sie benötigen. konstanten eine eigene stub klasse zu verpassen ist eigentlich so gut wie nie nötig. ist aber auch kein beinbruch, wenn man sich sowas strickt.

und dass in der java api so verdammt viele konstanten definiert sind liegt schlicht daran, dass enums erst mit 1.5 kamen ^^
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Wohin kommt das „abstract“? Vor oder nach „public“/ „private“ /... Java Basics - Anfänger-Themen 3
A Reader wohin werden Daten gespeichert? Java Basics - Anfänger-Themen 7
N Methoden Wohin mit einer Methode die in unterschiedlichen Klassen verwendet wird? Java Basics - Anfänger-Themen 5
N jpos.xml wohin damit? Java Basics - Anfänger-Themen 9
I Methoden Wohin gehört getImage()? Java Basics - Anfänger-Themen 1
nrg Wohin mit Factory Methoden? Java Basics - Anfänger-Themen 3
L Variable..aber wohin? Java Basics - Anfänger-Themen 16
L Externe Dateien, wohin? Java Basics - Anfänger-Themen 7
Hindi93 Neue Libs - wohin damit? Java Basics - Anfänger-Themen 7
F DocumentListener - Wohin damit? Java Basics - Anfänger-Themen 10
G Singelton Fabriken - Wohin mit getInstance? Java Basics - Anfänger-Themen 15
A wohin mit der Main! Java Basics - Anfänger-Themen 2
K Wohin gehört in Eclipse ein jpeg-Bild ? Java Basics - Anfänger-Themen 4
B Wohin mit der Main-Methode? HILFE! ("Exception in thr.) Java Basics - Anfänger-Themen 19
G Wohin Datenbank speichern? Java Basics - Anfänger-Themen 4
P Import jar files: Wohin? Java Basics - Anfänger-Themen 2
G Wohin Gui - Code? Java Basics - Anfänger-Themen 5
M Wohin mit den JAVA Libraries (spring, jalopy etc.) ? Java Basics - Anfänger-Themen 2
P wohin muss ich die packages kopieren? Java Basics - Anfänger-Themen 12
F POI-Anfänger, wohin mit dem poi.jar Java Basics - Anfänger-Themen 4
B javax entpacken - aber wohin? Java Basics - Anfänger-Themen 2
Fats Waller Wofür stehen diese Konstanten im Java Labyrinth ? Java Basics - Anfänger-Themen 5
M Wie lassen sich Konstanten in Bedingung stellen? Java Basics - Anfänger-Themen 1
thor_norsk Symbolische Konstanten Java Basics - Anfänger-Themen 9
L Konstanten Java Basics - Anfänger-Themen 7
A SelectionSort bringt keine konstanten Ergebnisse Java Basics - Anfänger-Themen 4
F Erste Schritte Literale / Konstanten Java Basics - Anfänger-Themen 5
M Konstanten in einem Interface definieren Java Basics - Anfänger-Themen 1
M Enum: Zugriff auf Konstanten Java Basics - Anfänger-Themen 7
E wann welche Konstanten verwenden? Java Basics - Anfänger-Themen 7
Luk10 Frage zu globalen Konstanten Java Basics - Anfänger-Themen 11
T Variablen Verständnissfrage Konstanten Java Basics - Anfänger-Themen 6
S Dezimale Konstanten sind immer positiv oder null - was heisst das den genau? Java Basics - Anfänger-Themen 2
D Sind Enums typsichere Konstanten? Java Basics - Anfänger-Themen 15
M Konstanten in Java Java Basics - Anfänger-Themen 23
A Was ist performanter für Konstanten, enum oder static variablen Java Basics - Anfänger-Themen 5
C Konstanten zu einfachen Berechnungen unterhalb Main Methode Java Basics - Anfänger-Themen 19
P Klassen-konstanten durchlaufen Java Basics - Anfänger-Themen 9
S Viele Konstanten, EnumSet? Java Basics - Anfänger-Themen 3
D Frage zu Konstanten Java Basics - Anfänger-Themen 7
G static block und konstanten Java Basics - Anfänger-Themen 2
S Organisieren von Konstanten Java Basics - Anfänger-Themen 16
G konstanten leicht benutzen? (sichtbarkeit) Java Basics - Anfänger-Themen 17
F Konstanten Java Basics - Anfänger-Themen 36
K System.exit() - Konstanten ? Java Basics - Anfänger-Themen 2
M Konstanten ableiten und überschreiben Java Basics - Anfänger-Themen 2
Dilandau array aus konstanten definieren? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben