statische Variable

Status
Nicht offen für weitere Antworten.

Bit2_Gosu

Bekanntes Mitglied
Hi!

Ich habe eine Klasse Bauer (eine Schachfigur). Ein Bauer hat ein spezielles Aussehen, das über eine Bilddatei festgelegt ist. Da jeder Bauer (einer Farbe) das gleiche Aussehen hat, macht es Sinn eine statische Variable "image" in der Klasse "Bauer" einzuführen (das Aussehen hänt nicht vom speziellen Objekt ab).

So wäre das doch eigentlich ideal:

public static Image image = new ImageIcon(ImageIO.read(new File("c:/Beispiel.jpg"))).getImage();

Problem ist nur: ich brauche try/catch wegen der read-Funktion.

Was tun?
 

babuschka

Top Contributor
Da gibt es eigentlich nur 3 (mir bekannte) Möglichkeiten:

Das Bild in einem static-Block laden (sollte so funktionieren):
Java:
public class Irgendwas{
    public static Image irgendeinBild;
    static{
        try {
            //Bild einlesen
        } catch (IOException ex) {
            //Hier die Exception behandeln
        }
    }
}

,das Bild im Konstruktor laden, falls es null ist

oder die Bilddateien in einer extra Bildladeklasse halten und bei Bedarf holen.
 
B

bygones

Gast
Ich habe eine Klasse Bauer (eine Schachfigur). Ein Bauer hat ein spezielles Aussehen, das über eine Bilddatei festgelegt ist. Da jeder Bauer (einer Farbe) das gleiche Aussehen hat,
gibt doch aber noch ne andere Farbe, also anderes Bild... was nun ?

2 statische variablen ?
 
B

bygones

Gast
Hört sich am sinnvollsten an...
Oder den Bauer nochmal in Bauer(weiss) und Bauer(schwarz) unterteilen/ableiten.

beides nicht sinnvoll... meiner meinung nach sollte es eine Bauern klasse geben, die aber eine instanzvariable farbe bzw bild hat - nix statisches hier
 

Bit2_Gosu

Bekanntes Mitglied
hm, aber das aussehen eines Bauers hängt doch nicht von der jeweiligen Instanz ab, sondern von der Klasse. Deshalb statisch oder nicht?

allerdings ist das Problem mit dem static block, dass ich die static variablen (schwarzer auf weißem feld, schwarzer auf schwarzem feld, weißer auf weißen feld, weißer auf schwarzem feld) nicht als final deklarieren kann.
d.h. jeder kann sie ändern...

oder gibts da einen ausweg?
 
M

maki

Gast
hm, aber das aussehen eines Bauers hängt doch nicht von der jeweiligen Instanz ab, sondern von der Klasse. Deshalb statisch oder nicht?
Naja, eigentlich hängt es vom Typen ab, aber man sollte sich auch fragen ob die Pawn Klasse wirklich verantwortlich dafür sein sollte sein "image" zu bestimmen.
 

MrWhite

Bekanntes Mitglied
Hi!

Ich habe eine Klasse Bauer (eine Schachfigur). Ein Bauer hat ein spezielles Aussehen, das über eine Bilddatei festgelegt ist. Da jeder Bauer (einer Farbe) das gleiche Aussehen hat, macht es Sinn eine statische Variable "image" in der Klasse "Bauer" einzuführen (das Aussehen hänt nicht vom speziellen Objekt ab).

So wäre das doch eigentlich ideal:

public static Image image = new ImageIcon(ImageIO.read(new File("c:/Beispiel.jpg"))).getImage();

Problem ist nur: ich brauche try/catch wegen der read-Funktion.

Was tun?

Meiner Ansicht nach solltest du die abstrakte Repräsentation eines Bauers von dem Aussehen (also dem GUI) trennen.

Bau doch die abstrakte Repräsentation des Bauers und eine GUI-Komponente für den Bauer oder die Basisklasse des Bauers.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Variablen statische Variable einer Objektvariable zuordnen Java Basics - Anfänger-Themen 3
E statische Variable ändert sich Java Basics - Anfänger-Themen 7
A Statische Variable in Methoden Java Basics - Anfänger-Themen 7
A Stilfrage: statische Variable mit Instanz der gleichen Klasse Java Basics - Anfänger-Themen 8
S statische variable initialisieren mit exception Java Basics - Anfänger-Themen 2
G statische Variable zugreifen bzw. setzen Java Basics - Anfänger-Themen 6
T in statischem Kontext auf nicht statische Variable beziehen Java Basics - Anfänger-Themen 5
I Backend in Java und Ansicht von Dateien in statische HTML Seiten? Java Basics - Anfänger-Themen 15
J Die statische Main-Methode ändert Instanzvariable? Java Basics - Anfänger-Themen 10
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
S Klassen statische Objekterzeugung vor Konstruktoraufruf??? Java Basics - Anfänger-Themen 6
Queiser Nicht statische Klassen Java Basics - Anfänger-Themen 6
B Statische Methode return funktioniert nicht. Java Basics - Anfänger-Themen 19
C nicht statische Methoden Java Basics - Anfänger-Themen 4
D statische generische Methoden Java Basics - Anfänger-Themen 3
D Statische Variablen/Methoden Java Basics - Anfänger-Themen 3
S Zufallszahl (Statische Attribute und Methoden) Java Basics - Anfänger-Themen 10
N Auf statische Methode zugreufen Java Basics - Anfänger-Themen 9
R Methoden Nicht statische Methode aus Main aufrufen Java Basics - Anfänger-Themen 2
F Privater Konstruktor und statische Methoden Java Basics - Anfänger-Themen 4
S ActionListener und Statische Variablen Java Basics - Anfänger-Themen 4
D Statische Objekte mit variablem Parameter Java Basics - Anfänger-Themen 1
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
F Statische Klasse => Flaschenhals? Java Basics - Anfänger-Themen 10
T Statische Arrays von Objekten Java Basics - Anfänger-Themen 2
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
B Java Programm ohne statische Main Methode aufrufen Java Basics - Anfänger-Themen 5
S Datentypen nicht lineare STATISCHE Datenstruktur? Java Basics - Anfänger-Themen 10
P Klassen statische oder dynamische(?) Klasse Java Basics - Anfänger-Themen 3
A Nicht-statische Methode in einer statischen aufrufen Java Basics - Anfänger-Themen 10
M Wann statische Methoden/Attribute? Java Basics - Anfänger-Themen 2
M Statische Methoden in Interface/Abstrakte Klasse Java Basics - Anfänger-Themen 6
J statische Methoden auf eine LinkedList initialisieren? Java Basics - Anfänger-Themen 5
A statische Arraylist Java Basics - Anfänger-Themen 6
Q Variablen Statische Variablen Java Basics - Anfänger-Themen 8
J Unterschied zwischen statische und nicht statische Methoden? Java Basics - Anfänger-Themen 14
V OOP Statische Klassen-Attribute vererben Java Basics - Anfänger-Themen 4
K Statische Bindung Java Basics - Anfänger-Themen 6
B dynamische/statische Typen Java Basics - Anfänger-Themen 2
L Methoden Auf statische Methode einer anderen Klasse zugreifen, die Array zurückgibt Java Basics - Anfänger-Themen 3
S statische Methode nebenläufig Java Basics - Anfänger-Themen 2
R Aufruf statische Methode Java Basics - Anfänger-Themen 7
M Statische Methoden Java Basics - Anfänger-Themen 22
C Relativer Pfad - Statische Methode Java Basics - Anfänger-Themen 6
A Statische Methode "vererben" - Zwang durch annotation processor Java Basics - Anfänger-Themen 10
sqsh statische jlabels dynamisch verwalten Java Basics - Anfänger-Themen 2
S Statische Klassen/ Singleton Java Basics - Anfänger-Themen 13
E Statische Member können nicht vererbt werden? Java Basics - Anfänger-Themen 10
F Generische Typen auch für statische Methoden? Java Basics - Anfänger-Themen 13
M Statische und nicht-statische Funktionen: Desktop.browse(uri); Java Basics - Anfänger-Themen 4
A Stilfrage: statische Methoden und Attribute auf jeden Fall verhindern? Java Basics - Anfänger-Themen 5
H Statische generische Methode Java Basics - Anfänger-Themen 2
A statische Attribute: Vererbung und Zugriff darauf Java Basics - Anfänger-Themen 15
hdi Observer als statische Klasse ? Java Basics - Anfänger-Themen 2
hdi statische synchronisation Java Basics - Anfänger-Themen 6
G statische ArrayList? Java Basics - Anfänger-Themen 8
K Statische Variablen von Objekten im Array Java Basics - Anfänger-Themen 15
K nicht-statische Methode aufrufen Java Basics - Anfänger-Themen 3
M Statische Funktion Java Basics - Anfänger-Themen 2
M öffentliche nicht-statische Funktion fremder Klasse ausführn Java Basics - Anfänger-Themen 16
C args[] als statische Variablen speicher oder wie? Java Basics - Anfänger-Themen 12
P nicht statische methode instantiieren Java Basics - Anfänger-Themen 7
H statische methoden und sichtbarkeit Java Basics - Anfänger-Themen 13
nadoria statische Methoden (Klassenmethoden) Java Basics - Anfänger-Themen 3
K statische variablen und methode Java Basics - Anfänger-Themen 3
H Was ist nocheinmal eine statische Klasse? Java Basics - Anfänger-Themen 6
G Statische Methoden? Java Basics - Anfänger-Themen 2
kb statische methoden und throws exception Java Basics - Anfänger-Themen 2
H statische, dynamischer Typ von Variablen Java Basics - Anfänger-Themen 1
M Konstruktor eine statische Methode? Java Basics - Anfänger-Themen 9
H statische,dynamische Bindung Java Basics - Anfänger-Themen 4
N Unterschied statische Attribute u. Methoden <-> objekt Java Basics - Anfänger-Themen 4
O nicht-statische Inhalte auf statische Inhalte verweisen Java Basics - Anfänger-Themen 19
M wann statische klassen? Java Basics - Anfänger-Themen 14
U statische Variablen Java Basics - Anfänger-Themen 12
F Statische Methode - Nicht Statische Methode Java Basics - Anfänger-Themen 10
S Statische Felder - statische Methoden Java Basics - Anfänger-Themen 2
D Statische und Nicht-Statische Methoden Java Basics - Anfänger-Themen 7
K Statische Methoden!? Java Basics - Anfänger-Themen 8
O Variable Zimmergrößen per scanner einlesen Java Basics - Anfänger-Themen 5
richis-fragen String("AT") als StringObject-Variable deklarieren Java Basics - Anfänger-Themen 14
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
E Variable von 1. Fenster an 2. Fenster übergeben. Java Basics - Anfänger-Themen 7
T Variable in Schleife deklarieren, Speicherplatz, Garbage Collector Java Basics - Anfänger-Themen 10
T Datum als Variable wert Java Basics - Anfänger-Themen 4
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
Say super.methode / super.variable und super(variable) Java Basics - Anfänger-Themen 2
M variable in anderer funktion aufrufen Java Basics - Anfänger-Themen 10
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
U Wie mache ich die Variable xyz eindeutig/unique? Java Basics - Anfänger-Themen 20
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Variable Felderanzahl Java Java Basics - Anfänger-Themen 10
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben