Frage zu globalen Konstanten

Luk10

Top Contributor
Grüße,

Ich frage mich wie man am besten globale Konstanten speichert. Beispielsweise möchte ich die Maße meines Frames (extends JFrame) global und konstant speichern, damit auch andere Programmteile die Maße abfragen können.

Ein beispiel meiner bisherigen Lösung dafür:

Java:
public class SimFrame extends JFrame {
	private static final long serialVersionUID = 1L;
	
	
	public enum SimFrameScales {
		
		WIDTH(400),
		HEIGHT(400);
		
		final int size;
		
		private SimFrameScales(int size) {
			
			this.size = size;
			
		}
		
		public int getSize() {
			
			return size;
			
		}
		
	}
}

Mir erscheint es relativ viel Aufwand um nur zwei Konstanten zu speichern. Wie wird das am besten gemacht? Ist es sinnvoll ein (public) enum zu verwenden?

Danke,
-Luk10-
 

Gregorrr

Bekanntes Mitglied
Man speichert Konstanten als globale Klassen-Variablen, d.h.:

Java:
public class SimFrame extends JFrame {
    private static final long serialVersionUID = 1L; // das ist eine Konstante, aber nur lokal zur Klasse
    
    public static final int WITDH = 400; // das ist eine globale Konstante
    public static final int HEIGHT = 400;
    
}

Diese wird im statischen Datenbereich abgelegt. Da es sich um eine nicht-veränderbare Konstante handelt, muss du diese nur einem im Programmcode definieren, und da, sie nicht änderbar ist, kann man sie auch nicht jedes mal über den Konstruktor überschreiben. Zugriff von *jeder* Klasse mittels
Code:
SimFrame.WIDTH
und analog für HEIGHT.

Das Problem bei dir ist wahrschnl., dass du das "objektorientiert" lösen willst. Aber eine Konstante ist überall und global gültig, deswegen gibt es da keinen "objektorientierten"-Ansatz.
 
B

bygones

Gast
in deinem fall sehe ich keinen sinn in einem enum, es reicht diese beiden Werte als public static final Variable zu definieren
 

Final_Striker

Top Contributor
Du hast in deinem Beispiel eine globale Konstante drin und fragst dann wie man eine globale Konstante erstellt???

Java:
private static final long serialVersionUID = 1L;
 

Gregorrr

Bekanntes Mitglied
Was für eine Funktion haben dann enums im Gegensatz zu konstanten Variablen?

Definieren einer bestimmten Menge an möglichen Konstanten.

bsp. Farben: Blau Grün Gelb Lila. Hier gibt es eine vordefinierte Menge. Bei switch Abfragen kann man so z.B., sichergehen, dass es auf jedenfall nur ein Konstante dieser Menge vorliegt und z.B. nicht Schwarz wählbar wird.
 
I

irgendjemand

Gast
wenn deine klasse von JFrame erbt kannst du über [c]this.getSize()[/c] *von java.awt.Component* die größe dierekt abfragen ... sehe also keinen sinn unzuverlässig irgendwo konstante werte einzutragen ... sondern würde eher "live" abfragen
 
B

bygones

Gast
wenn deine klasse von JFrame erbt kannst du über [c]this.getSize()[/c] *von java.awt.Component* die größe dierekt abfragen ... sehe also keinen sinn unzuverlässig irgendwo konstante werte einzutragen ... sondern würde eher "live" abfragen

wenn eine andere Komponente des Programmes nur die Groessenangaben braucht, so waere es unsinnig wegen dieser Information den gesamten Frame bereitzustellen (auch nicht als java.awt.Component).

haengt vom Einsatz ab
 
I

irgendjemand

Gast
war in etwa mein gedanke bei dem text ...

da TO das beispiel einer java.awt.Component *oder davon abgeleitet* und ihrer größe gebracht hat liese sich jetzt speziell darauf mit [c]getSize()[/c] antworten ...

ansonsten hängt es immer davon ab was es für werte sind , wo diese gebraucht werden , ob sie "von außen" verändert werden können ... ich denke wohl kaum das es für ALLE fälle eine patentlösung geben wird ...
 

Luk10

Top Contributor
Danke für alle Antworten.

Das Beispiel ist stark vereinfacht und es ist sinnvoll die Werte manuell und nicht über getSize zu setzten bzw abzufragen.

-Luk10-
 
V

vanny

Gast
Wenn es nur um die Größe geht, dann leg doch eine Dimension an, die du referenzierst.
Die komplette Component zu übergeben wäre da wie schon erwähnt nicht gerade speichereffizient.

Gruß Vanny
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Frage zu Test-Driven Development (TDD) Java Basics - Anfänger-Themen 3
I Frage Thymeleaf -> Fehler ignorieren und mit "" ersetzen? Java Basics - Anfänger-Themen 15
I Frage Thymeleaf -> Prefix / Suffix ändern? Java Basics - Anfänger-Themen 11
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
T Frage zu Parse Java Basics - Anfänger-Themen 2
H Frage an die Profis Java Basics - Anfänger-Themen 4
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
P Frage zu Rekursion und Backtracking Java Basics - Anfänger-Themen 2
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Frage zu arithmetischen Operationen Java Basics - Anfänger-Themen 20
F Kurze Frage zu replace() Java Basics - Anfänger-Themen 19
JavaSchmecktLecker Polymorphie Frage zur Methodenüberschreibung Java Basics - Anfänger-Themen 21
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
B Erste Schritte Frage zu Instanzierung und Referenzen Java Basics - Anfänger-Themen 8
DoubleM Runtime.getRuntime().exec Frage Java Basics - Anfänger-Themen 2
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
O Frage: Formaler Typbezeichner? Java Basics - Anfänger-Themen 3
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
N Spezielle frage zum Comparator Java Basics - Anfänger-Themen 6
L Frage zum Array Java Basics - Anfänger-Themen 1
A Frage zum UML Design Java Basics - Anfänger-Themen 1
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
izoards Drucken Frage zu FAQ Beitrag Java Basics - Anfänger-Themen 2
J Frage zu meinem Code (OOP) Java Basics - Anfänger-Themen 4
sserio Split() -> Regex Frage. Java Basics - Anfänger-Themen 7
A OCA Study Guide: 2. Frage aus Kapitel 3 Java Basics - Anfänger-Themen 9
sserio Date Library Frage Java Basics - Anfänger-Themen 9
Max246Sch Frage zu Währungsrechner Code Java Basics - Anfänger-Themen 2
sserio Frage zu HashMaps Java Basics - Anfänger-Themen 20
sserio Frage zu Threading - Multithreading Java Basics - Anfänger-Themen 2
sserio Frage zu Lambda Ausdrücken Java Basics - Anfänger-Themen 7
sserio Frage zu BigInteger Java Basics - Anfänger-Themen 1
D Frage bzgl. Enum-Handhabung Java Basics - Anfänger-Themen 16
xxx12 Frage Java Basics - Anfänger-Themen 2
I Generelle Frage zu Mikroservices (Spring Boot?), Docker... Java Basics - Anfänger-Themen 7
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
A Frage zur programmierung Java Basics - Anfänger-Themen 12
M Frage zur Methode split der Klasse String Java Basics - Anfänger-Themen 32
R Input/Output Frage zu Java IO Java Basics - Anfänger-Themen 6
M Frage zu printWriter Java Basics - Anfänger-Themen 5
C Frage zu OLSMultipleLinearRegression Java Basics - Anfänger-Themen 31
KogoroMori21 Frage zum Euklidischen Algorithmus Java Basics - Anfänger-Themen 11
S Verständnis-Frage zu einer HÜ? Java Basics - Anfänger-Themen 1
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
L Frage zur Ticket Maschine Java Basics - Anfänger-Themen 1
J Frage zu OOP-Klassendiagramm Java Basics - Anfänger-Themen 8
OSchriever Frage zu Compiler Java Basics - Anfänger-Themen 8
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
Bademeister007 Hallo Leute ich hab eine Frage zur ArrayList Java Basics - Anfänger-Themen 8
F Frage betreff Programmierbücher zu Lagerverwaltung als Konsolenprogramm Java Basics - Anfänger-Themen 3
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
I String.split regex Frage Java Basics - Anfänger-Themen 2
N Best Practice Frage zum MVC-Pattern Java Basics - Anfänger-Themen 2
dieter000 Frage zu einem Beispiel... Java Basics - Anfänger-Themen 5
J Frage zum Loggen Java Basics - Anfänger-Themen 18
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
marcooooo Frage zu bestimmten Beispiel Java Basics - Anfänger-Themen 31
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
N Input/Output Eine Frage über system.out.println. Java Basics - Anfänger-Themen 10
B Erste Schritte Learning Coding (!) Frage an erfahrene Programmierer. Java Basics - Anfänger-Themen 23
M konzeptuelle Frage: In welcher Klasse definiert man am Besten Methoden, die die Kommunikation mit dem User regeln? Java Basics - Anfänger-Themen 8
B Frage zum Code verständnis im Resultat Java Basics - Anfänger-Themen 10
C Exception-Frage Java Basics - Anfänger-Themen 3
J Eine Frage zur Schreibweise == ? : Java Basics - Anfänger-Themen 3
S Frage des Designs Java Basics - Anfänger-Themen 1
JavaTalksToMe Extends/Implements Frage Java Basics - Anfänger-Themen 3
pkm Frage zu Servletfunktion Java Basics - Anfänger-Themen 0
B Frage zur Währungsumrechnung Java Basics - Anfänger-Themen 3
S Allgemeine Frage über Generics und Vererbungen Java Basics - Anfänger-Themen 5
Kirby.exe Frage zur Verwendung von Interfaces Java Basics - Anfänger-Themen 6
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
D Frage zur IDE IntelliJ IDEA Java Basics - Anfänger-Themen 6
H Frage zum 2d Array Java Basics - Anfänger-Themen 1
N Frage zum Newton-Fraktal Java Basics - Anfänger-Themen 1
H Frage zu interfaces Java Basics - Anfänger-Themen 1
J Frage dazu Variablen klassenübergreifend zu verändern Java Basics - Anfänger-Themen 22
I Frage zu SkipList Java Basics - Anfänger-Themen 4
G Frage zu JScrollPane Java Basics - Anfänger-Themen 12
Kirby.exe Allgemeine Frage Java Basics - Anfänger-Themen 3
W Frage zu anonymen Klassen Java Basics - Anfänger-Themen 4
J Kleine Frage zu OOP Java Basics - Anfänger-Themen 371
S Frage Klasse und Objekte Java Basics - Anfänger-Themen 2
F Frage zu Iteratoren Java Basics - Anfänger-Themen 2
C Erste Schritte Frage zur ArrayList Java Basics - Anfänger-Themen 15
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
H Frage zur ermittlung eines doppelte Paars aus Sotieralgorithmus Java Basics - Anfänger-Themen 4
H Frage zum Array Java Basics - Anfänger-Themen 17
G Schach -Frage 2- Maussteuerung Java Basics - Anfänger-Themen 7
G Schach in Java - Allgemeine Frage zur Architektur Java Basics - Anfänger-Themen 7
B Fachliche Frage bei Rechnungen Java Basics - Anfänger-Themen 16
B Frage zu: String... strings -> Ungleiche Anzahl an Parameter? Java Basics - Anfänger-Themen 4
B Frage zu Datenbank Design - Rechnungen, Angebote... und deren Positionen Java Basics - Anfänger-Themen 4
H Frage zu Parameter einer Methode Java Basics - Anfänger-Themen 2
H Einfache Frage zur Punktnotation objektname.methode(wert) Java Basics - Anfänger-Themen 2
H Frage zu Parameter einer Methode Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben