Vererbung/Globale Variablen

skiwan

Mitglied
Hallo liebes Forum ich habe da ein Problem

Ich möchte gern so etwas wie Globale Variablen haben, so das ich sie in jeder beliebigen Klasse Aufrufen und Verändern kann.

Das ganze wollte ich einfach per vererbung machen, was im Grunde auch funktioniert, nur habe ich das Problem das meine Main Methode also

Java:
static public main ...

Ja keine Vererbung haben kann bzw die Variablen nicht vererbt werden können an diese Static Methode.

Hat jemand eine Lösung für mich Parat?


P.s Wenn ihr genauren Javacode braucht einfach bescheid sagen.
 

Tobse

Top Contributor
Die lösung heisst [c]public static[/c] und wenn der Wert konstant ist [c]public static final[/c]. Das EInfach in eine Klasse, die public in ihrem Package ist:
Java:
public class GVars
{
    public static final int KONSTANTE;
    public static double VARIABLE;
}
...
GVars.VARIABLE
 
M

maki

Gast
Globale Variablen stehen den Prinzipien der OOP direkt entgegen, public static ohne final für Felder ist das Problem, nicht die Lösung.

Code zeigen ist immer gut, auch wäre es gut zu wissen was du denn konkret erreichen möchtest, denn das im OOP Sinne "falsche" Konzept der globalen Variablen lässt sich gut durch OOP Lösungen ersetzen.
 

skiwan

Mitglied
Also im Grunde ist das ganze so.
in der Main classe habe ich eine variable (nennen wir sie mal Geld)
Diese variable wird in der Main verändert.
gleichzeitig wird aber auch überprüft das die variable Geld ungleich null ist

nun möchte ich in einer anderen classe/Methode auf diese variable zugreifen und sie verändern
nebenbei muss aber die Main Methode dauerhaft überprüfen das "Geld" nicht null ist.


an sich könnte ich das ganze mit meinen Kenntnissen auch alles in eine classe schreiben
das ganze wurde aber sehr unübersichtlich enden, daher benutze ich mehrere Klassen.


als ich die Variablen per public static Main deklariert habe könnte ich zwar in allen andeRen Klassen auf die variablenwerte zugreifen habe aber keine Ahnung wie ich diese dann wieder verändern kann.


Geht dies dann einfach über das erwähnte

GVars.variable = gvars.variable - 3

wenn ich zb die variable um 3 veringern will?
 

Tobse

Top Contributor
Globale Variablen stehen den Prinzipien der OOP direkt entgegen, public static ohne final für Felder ist das Problem, nicht die Lösung.
[...] denn das im OOP Sinne "falsche" Konzept der globalen Variablen lässt sich gut durch OOP Lösungen ersetzen.

Es macht einen Unterschied, ob ich eine Klasse anlege nur für globale Variablen oder ob ich bestimmte Eigenschaften einer Klasse public static mache, damit alle diese Lesen und / oder schreiben können.

Ausserdem hat der TE nach globalen Variablen und nicht nach einer OOP Lösung für sein Problem gefragt.
 
M

maki

Gast
Es macht einen Unterschied, ob ich eine Klasse anlege nur für globale Variablen oder ob ich bestimmte Eigenschaften einer Klasse public static mache, damit alle diese Lesen und / oder schreiben können.
Nö, macht es nicht.
Globale Variablen sind immer globale Variablen, und die sind im Sinne der OP immer schlecht.

Ausserdem hat der TE nach globalen Variablen und nicht nach einer OOP Lösung für sein Problem gefragt.
Kommt öfters vor, dass im Anfängerforum zuerst von den Fragen nach falschen Lösungen gefragt wird, dafür ist es ja da, und dann sollte man ihnen bessere Lösungen im Sinne der OOP vorschlagen.

@skiwan
Du kannst mit Methoden auf Attribute eines Objekte zugreifen.
Warum sollte deine main Methode prüfen ob genug Geld da ist, das sollte das Objekt selber machen, zB. in der Methode in der das geld gesetzt wird.
 

faetzminator

Gesperrter Benutzer
Java:
public class Wallet {

    private int money;

    public Wallet(int money) {
        this.money = money;
    }

    public void add(int n) {
        money += n;
    }

    public void remove(int n) {
        if (money - n < 0) {
            throw new IllegalArgumentException("out of money!");
        }
        money -= n;
    }
}

Nun ist sowas möglich:
Java:
Wallet wallet = new Wallet(20); // nun sind 20CHF/EUR/Kartoffeln/... drin
wallet.add(2); // 22
wallet.remove(12); // 10
wallet.remove(9); // 1
wallet.remove(2); // -1 -> IllegalArgumentException
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
M Vererbung - Polymorphie Java Basics - Anfänger-Themen 37
L Java- Vererbung Java Basics - Anfänger-Themen 4
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 12
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 1
I JSON / XML Struktur mit Vererbung / Interfaces Java Basics - Anfänger-Themen 0
M Interface oder Vererbung? Java Basics - Anfänger-Themen 12
M Vererbung Java Basics - Anfänger-Themen 6
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
M Generics Vererbung Listen Java Basics - Anfänger-Themen 2
A Methoden Vererbung und Interface Java Basics - Anfänger-Themen 14
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Java Basics - Anfänger-Themen 7
D Vererbung Java Basics - Anfänger-Themen 3
K Schleife berechnet kein Ergebnis (Vererbung) Java Basics - Anfänger-Themen 6
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
W Zur Vererbung: Wann und wie? Java Basics - Anfänger-Themen 35
H Datenkapselung, Vererbung und UML Java Basics - Anfänger-Themen 16
districon Super-Stichwort/ Vererbung Java Basics - Anfänger-Themen 3
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
1 Vererbung Klassenattribute Java Basics - Anfänger-Themen 9
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
N Thema Vererbung Java Basics - Anfänger-Themen 31
A Vererbung Vererbung Übung Java Basics - Anfänger-Themen 5
B Vererbung - Sichtbarkeitsmodifikation - protected Java Basics - Anfänger-Themen 10
B Best Practice Unschlüssig ob Vererbung oder Interface Java Basics - Anfänger-Themen 2
G Java Vererbung Java Basics - Anfänger-Themen 8
Y Vererbung Konto - Anfangsprobleme Java Basics - Anfänger-Themen 7
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
M Vererbung mit Enums Java Basics - Anfänger-Themen 8
Kirby.exe Vererbung im Detail erklärt? Java Basics - Anfänger-Themen 9
N Modellierung, vererbung, Java Basics - Anfänger-Themen 163
M Fehlendes Verständnis für dynamische Bindung und Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung im Computerspiel Java Basics - Anfänger-Themen 7
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
I Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
V Vererbung Java Basics - Anfänger-Themen 2
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
J Vererbung Java Basics - Anfänger-Themen 3
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
O Vererbung Ueben mit kleiner Datenstruktur von Räumen Java Basics - Anfänger-Themen 10
O Umgang mit Vererbung verstehen Java Basics - Anfänger-Themen 4
A Vererbung/Interfaces/Generics Java Basics - Anfänger-Themen 12
O Vererbung änderung des Konstruktors Java Basics - Anfänger-Themen 8
L Vererbung Java Basics - Anfänger-Themen 5
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
A Objekterstellung bei der Vererbung Java Basics - Anfänger-Themen 7
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
S Vererbung Java mehrfach Java Basics - Anfänger-Themen 10
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
A Klassen Vererbung privater Methoden und Member Java Basics - Anfänger-Themen 12
A Konstruktoren Vererbung Java Basics - Anfänger-Themen 3
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
W Vererbung, abstract und Konstruktoren Java Basics - Anfänger-Themen 30
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
G Polymorphie, Vererbung, statischer Typ, Laufzeittyp Java Basics - Anfänger-Themen 2
H Vererbung mit private instanzvariablen Java Basics - Anfänger-Themen 9
S Vererbung Funktionsweise Code zur Vererbung Java Basics - Anfänger-Themen 1
C Methoden Vererbung private Attribute/public Methoden Java Basics - Anfänger-Themen 4
S Verständnis Vererbung Java Basics - Anfänger-Themen 3
D JavaFX Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Generizität und Vererbung Java Basics - Anfänger-Themen 4
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
K Vererbung Octagon von Circle Java Basics - Anfänger-Themen 0
B Hilfe bei Vererbung Java Basics - Anfänger-Themen 2
D Vererbung Frage zum Klassenaufbau mit Vererbung Java Basics - Anfänger-Themen 1
T Vererbung und interface. Java Basics - Anfänger-Themen 1
S Gehaltsberechnung (Vererbung, abstrakte Methoden) Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 1
F Vererbung in zwei Richtungen? Java Basics - Anfänger-Themen 14
D Vererbung / Polymorphie Java Basics - Anfänger-Themen 5
O Vererbung Java Basics - Anfänger-Themen 5
MiMa Vererbung Theorie OK, Praxis ?? Java Basics - Anfänger-Themen 4
Arif Vererbung Vererbung Variablen überschreiben Java Basics - Anfänger-Themen 1
C Vererbung - Ausgaben bestimmen Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 10
L Setter und Getter/Vererbung Java Basics - Anfänger-Themen 6
C Konstruktoren und Vererbung Java Basics - Anfänger-Themen 2
J Kleinere Frage zur Vererbung/Objekterzeugung Java Basics - Anfänger-Themen 2
G Vererbung Java Basics - Anfänger-Themen 12
J Vererbung privater Variablen Java Basics - Anfänger-Themen 7
J Vererbung Vererbung von Methoden Java Basics - Anfänger-Themen 6
B Vererbung Java Basics - Anfänger-Themen 12
K Vererbung (super) Java Basics - Anfänger-Themen 2
A ArrayQueue mit Exceptions und Vererbung Java Basics - Anfänger-Themen 3
J Java: static bei Vererbung Java Basics - Anfänger-Themen 5
C Vererbung Java Basics - Anfänger-Themen 4
L Vererbung Java Basics - Anfänger-Themen 3
J Klassenorganisation | Vererbung Java Basics - Anfänger-Themen 1
B Vererbung Vererbung Java Basics - Anfänger-Themen 2
N Generics Vererbung Wildcard Interface Java Basics - Anfänger-Themen 8
A Benötige Hilfe bei Vererbung Java Basics - Anfänger-Themen 1
M Anfängerprobleme mit Vererbung Java Basics - Anfänger-Themen 27
J Vererbung Java Basics - Anfänger-Themen 9
F Vererbung von Attributen zwischen zwei Klassen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben