statische Methoden auf eine LinkedList initialisieren?

javalui

Aktives Mitglied
Hallo,

ich versuche mich gerade an einer kleinen Kundenverwaltung und bin hier auf ein Problem gestoßen.

Ich verwende zum Speichern und Laden meiner Kundenliste die serialisierung was auch funktioniert. Ich habe eine Klasse CustomerList in deren Konstruktor die deserialisierung stattfindet.
Diese Klasse hat nur statische Methoden damit ich von außen auf diese zugreifen kann und nur eine Liste existiert (soweit korrekt?)

Mein Problem ist jetzt nur wenn ich meine Hauptanwendung starte wann wird der Konstruktor von dieser Klasse aufgerufen oder wie muss ich das tun damit die Liste "da" ist und ich sie in meinen folgenden Methoden nutzen kann????:L

Derzeit macht meine main Methode in meinem Hauptfenster einfach ein
new CustomerList();

Sobald ich dann allerdings das Fenster für die Kundenverwaltung öffne und auf mein CustomerList.getFirst() zugreifen möchte erhalte ich eine NPE.

Ist es so, dass eine statische variable beim ersten new "da" ist bis das Programm stirbt? Oder muss ich dennoch Objekte meiner CustomerList erstellen um auf die Funktionen zugreifen zu können?

Man bin ich verwirrt... ist ja auch spät.

Grüße Javalui
 

XHelp

Top Contributor
Naja, alles in einem lässt sich das kaum ohne Code beantworten. Du könntest natürlich den static Block verwenden:
Java:
public class CustomerList {
  private static List<WhatEver> list;
  static {
    list = initList();
    ....
  }
}
Dann musst du immerhin nicht einmalig den Konstruktor aufrufen. Jedoch sind die statischen Sachen "nur weil es eben cool ist von überall darauf zuzugreifen" nie eine gute Idee.
Die statischen Variablen sind auch vor dem ersten new "da".
Was einen Fehler in deiner Methode deiner Klasse deines Programms angeht - der Fehler liegt wohl in deinem Code :bahnhof:
 

javalui

Aktives Mitglied
Statisch wollte ich die Klasse deshalb machen, weil später in meinem Programm auch noch eine Auftragsverwaltung usw. hinzukommen soll diese aber alle nur eine gemeinsame Kundenliste verwenden sollen.

Kann ja mal bischen code einfügen...

CustomerList:
Java:
public class CustomerList implements Serializable {
	private static LinkedList<Customer> customerList;

	public CustomerList() {
		customerList = (LinkedList<Customer>) Serializer.deserialize(Globals.CUSTOMERDATAPATH); // Kundenliste deserialisieren
		if (customerList == null) { // Wenn nicht geglückt dann neue erstellen
			customerList = new LinkedList<Customer>();
		}
	}

...

CustomerWindow:
Java:
...
    /**
    * Konstruktor für das Kundenverwaltungs-Fenster
    */
    public CustomerWindow() {
        actualCustomer = CustomerList.getFirst(); // Den ersten Kunden aus der Liste als aktuellen wählen
        initGUI(); // Oberfläche initialisieren
...}

Hauptfenster konstruktor
Java:
...
	public MainWindow() {
		new CustomerList(); // Soll das deserialisieren im Konstruktor der CustomerList auslösen
		initialize(); // Initialisiert die Oberfläche des Hauptfensters
	}
...


Hierbei noch eine 2. Frage ich habe eine Klasse Globals die nur Pfadangaben zu den Serialisierungs-Dateien besitzt (Serializer ist eine Klasse von mir die das Serialisieren übernimmt) ist das so in Ordnung oder sollte man das irgendwie anders handhaben?

Grüße
Javalui
 

javalui

Aktives Mitglied
Bin jetzt selbst auf die Lösung gekommen.

Da ich meine linkedlist statisch deklariert habe wird diese nicht serialisiert und deshalb kommt aich beim deserialisieren nix mehr raus -> NPE

Serialisierung speichert eben nur instanzvariablen mit... Hätte ich wissen sollen


Grüße javalui
 
S

SlaterB

Gast
bereits beantwortete Themen haben es schwer unter vielen anderen,
gerade um 00:18 eine Erinnerung zu schreiben ist aber auch gefährlich, für Nachtschwärmer gibts vielleicht Aufmerksamkeit,
Tag-Besucher sehen das Thema schon kaum mehr vorne ;)

edit: auch noch am Wochenende.., na man sollte meinen da haben viele Zeit
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
F Privater Konstruktor und statische Methoden Java Basics - Anfänger-Themen 4
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
A Statische Variable in Methoden Java Basics - Anfänger-Themen 7
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 Unterschied zwischen statische und nicht statische Methoden? Java Basics - Anfänger-Themen 14
M Statische Methoden Java Basics - Anfänger-Themen 22
F Generische Typen auch für statische Methoden? Java Basics - Anfänger-Themen 13
A Stilfrage: statische Methoden und Attribute auf jeden Fall verhindern? Java Basics - Anfänger-Themen 5
H statische methoden und sichtbarkeit Java Basics - Anfänger-Themen 13
nadoria statische Methoden (Klassenmethoden) Java Basics - Anfänger-Themen 3
G Statische Methoden? Java Basics - Anfänger-Themen 2
kb statische methoden und throws exception Java Basics - Anfänger-Themen 2
N Unterschied statische Attribute u. Methoden <-> objekt Java Basics - Anfänger-Themen 4
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
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
V Variablen statische Variable einer Objektvariable zuordnen Java Basics - Anfänger-Themen 3
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
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
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
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
E statische Variable ändert sich Java Basics - Anfänger-Themen 7
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
A statische Arraylist Java Basics - Anfänger-Themen 6
Q Variablen Statische Variablen Java Basics - Anfänger-Themen 8
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
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
B statische Variable Java Basics - Anfänger-Themen 10
M Statische und nicht-statische Funktionen: Desktop.browse(uri); Java Basics - Anfänger-Themen 4
A Stilfrage: statische Variable mit Instanz der gleichen Klasse Java Basics - Anfänger-Themen 8
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
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
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
K statische variablen und methode Java Basics - Anfänger-Themen 3
H Was ist nocheinmal eine statische Klasse? Java Basics - Anfänger-Themen 6
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
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
emreiu Methoden Rekursive Methoden Runter- & Hochzählen Java Basics - Anfänger-Themen 2
U Funktionale Interfaces mit mehreren abstrakten Methoden? Java Basics - Anfänger-Themen 8
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
J Argumente in Methoden übergeben Java Basics - Anfänger-Themen 1
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
Say Class scope und Instance scope und Getter nur selbstgeschrieben Methoden Java Basics - Anfänger-Themen 11
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
Renjiroo Java Bmi Rechner mit Methoden Java Basics - Anfänger-Themen 4
frager2345 Thread - Methoden synchronized deklarieren Java Basics - Anfänger-Themen 10
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
Alen123 Erstes Arbeiten mit Methoden. Java Basics - Anfänger-Themen 5
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
M Andere Methoden in anderen Klassen aufrufen Java Basics - Anfänger-Themen 11
L Methoden in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
D Gerade oder ungerade Zahl mittels Methoden Java Basics - Anfänger-Themen 13
M Erklärung von Ausnahmebehandlung in Methoden Java Basics - Anfänger-Themen 13
S Methoden 2 non-static Methoden, trotzdem Fehler "non static method can not be referenced from a static context" Java Basics - Anfänger-Themen 9
L Rekursive Methoden Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben