Serialisierung Probleme bei Umsetzung

Underfaker

Bekanntes Mitglied
Hallo zusammen :),

ich bearbeite atm das Problem ein Datum als Objekt zu erstellen (mit Stunde und Minute) dieses soll serialisiert werden in einer bestimmten Datei und dann soll diese Datei wieder eingelesen werden und eben das Datum ausgegeben werden, eigentlich recht überschaubar.

Leider komme ich bisher nicht mit meiner vorgegebenen Methode klar, die die einzelnen Daten (Jahr Monat, etc.) als String aneinander klebt.

Gebe ich das Datum vor der Serialisierung aus, kommt dort aber Quarck raus und nach der Serialisierung kommt anderer Quarck raus, könnt ihr mir eventuell helfen wo dasProblem liegt?

ps: Es gibt eine Klasse Zeit die den Konstruktor für Stunde/Minute beinhaltet sowie diese Stringmethode, eine Klasse Datum, die bisher die Kontrsuktoren für Tag/Monat/Jahr beinhaltet und eine weitere main-Klasse in der die Serialisierung und Ausgabe getätigt werden soll.


Die Ausgabe die das Programm liefert sieht wie folgt aus:
Datum@126b249
Datum@efd552

Vielen Dank schonmal :)
 
Zuletzt bearbeitet:
T

theawak3r

Gast
Du musst deine toString Methode verwenden...

Das was Kevin geschrieben hat, hab grad zu schnell gepostet.. :p
 
Zuletzt bearbeitet von einem Moderator:

Kevin94

Top Contributor
Das Problem ist ein Verständnisproblem: Die Ausgabe entspricht dem was die Standartimplementierung von toString in Object zurückgibt. Und das ist eben Klasse@SpeicherAdresse. Und da das erste Objekt nicht die selbe Speicheradresse hat wie das deserialisierte, sind die Ausgaben unterschiedlich. Du musst toString() in Datum überschreiben, damit was sinnvolles rauskommt.
 

LukHaimb27

Mitglied
du musst in der Klasse Datum die Methode toString() überschreiben ;)

also z.B. :

Java:
@Override
public String toString() {
	return tag +  "." + monat + "." + jahr;
}

Damit müsste die Ausgabe mal Sinn ergeben.
 

Underfaker

Bekanntes Mitglied
Das klingt sicher doof aber was bedeutet "eine Methode überschreiben" und wie mache ich das? Ich finde dazu leider nichts im Script bei dem Thema.
 

Crian

Top Contributor
Code:
toString ()
ist eine Methode von
Code:
Object
, diese besitzt also jede Klasse. Dort wird einfach die Speicheradresse als String zurückgegeben, nun ist es an dir, diese mit etwas sinnvollerem zu "überschreiben", indem du sie erzeugst und mit
Code:
@Override
versiehst, wie oben gezeigt.
 

Underfaker

Bekanntes Mitglied
"Wie oben gezeigt" ok aber wenn ich das obige benutze funktioniert es eben nicht:

"method does not override or implement a method from a supertype"

Da ich "überschreiben" noch nicht kenne - ich weiß das er die Adresse zurückgibt und nicht den String den er soll, aber - deshalb weiß ich auch nicht wie ich das hinbiege damit er das macht.

"Override" findet sich leider nicht im Script deshalb ist das neu für mich.
 
S

SlaterB

Gast
> aber wenn ich das obige benutze funktioniert es eben nicht:
poste deinen Code, wie quasi immer wenn du je nach einem Fehler fragst
 

Crian

Top Contributor
Code:
toString()
hat die Signatur
Code:
public String toString()
. Wenn du die Methode so deklariert hast, sollte es die genannte Fehlermeldung nicht geben. Tippfehler?
 

Underfaker

Bekanntes Mitglied
@slater B der code steht bereits oben

Java:
	@Override
    	public String toString(int tag, int monat, int jahr) 

	{
        
		return stunde + ":" + minute + ":" + tag + ":" + monat + ":" + jahr;
    
	}

Ich weiß wie gesagt nicht wie dieses "Override" funktioniert, also habe ich es wie oben einfach in der Zeile davor geschrieben

Rest:
 
Zuletzt bearbeitet:
S

SlaterB

Gast
nicht wenn du in der Klasse Datum bist, wo es entsprechende Instanzattribute gibt..,
("du musst in der Klasse Datum die Methode toString() überschreiben" hieß es ja auch, bist du dort?)

ohne Mitdenken/ Grundlagen ist das alles schwer abzustimmen hier
 

LukHaimb27

Mitglied
Datum.java
Java:
public class Datum extends Zeit
 
{
 
    int tag;
 
    int monat;
 
    int jahr;
 
    public Datum (int Tag, int monat, int jahr, int stunde, int minute)
 
    {
 
        super(stunde,minute);
 
        this.jahr = jahr;
 
        this.monat = monat;
 
        this.tag = tag;
 
    }
 
	@Override
	public String toString() {
		return tag +  "." + monat + "." + jahr + "  " + stunde + ":" + minute;
	}
 
}

und die toString Methode aus Zeit.java löscht du raus (inklusive dem @Override)

so funktionierts bei mir
 

Underfaker

Bekanntes Mitglied
Ich sagte ja bereits, dass ich das nicht hatte (stand auch dort) deswegen kann ich auch nur schwer mitdenken sondern muss erstmal überhaupt wissen wies geht, meine Vorgehensweise hatte ich beschrieben die hat niemand kritisiert,...

Naja also nun in Datum und tatsächlich kennt er in Datum natürlich minute und Stunde nicht...

Ich hab die Variablen deklariert (mal versuchsweise) und es klappt so halbwegs, leider werden nun einige Werte nicht korrekt übernommen:

0:0:0:7:2012
0:0:0:7:2012

Woran kann das nun liegen?

Ich habe grade gesehen warum er minute und stunde nicht kennen kann, die sind als private deklariert,a lso kann er da nicht ran kommen, gibt es noch eine andere Möglichkeit?

Ich finde es erstaunlich, dass es bei dir funktioniert und bei mir nicht obwohl wir denselben Code haben.
 
Zuletzt bearbeitet:

LukHaimb27

Mitglied
wieso sollte er stunde und zeit nicht kennen?
du leitest ja schließlich die Klasse Datum von Zeit ab

also muss Datum auch die Instanzvariablen von Zeit haben
 

Underfaker

Bekanntes Mitglied
: D Ja das wäre ja einfach, so schlau bin ich natürlich auch, aber das ist keine Option, das ist vorgegeben und darf leider nicht geändert werden.

[EDIT]Könnte das womöglich ein Fehler in der Aufgabenstellung sein?[/EDIT]
 
Zuletzt bearbeitet:
G

Gast2

Gast
Du kannst die toString() der Oberklasse aufrufen und dann mit den zusätzlichen Infos anreichern:

Java:
public class Zeit implements Serializable 
{
    [...]

  public String toString() 
  {        
    return stunde + ":" + minute;
  }
}

Java:
public class Datum extends Zeit 
{
  [...]

  @Override
  public String toString() {
    String parent = super.toString();
    return tag +  "." + monat + "." + jahr + "  " + parent;
  }
}

Wobei getter für die Attribute eh unerlässlich sind.
 

Underfaker

Bekanntes Mitglied
So ich habe es jetzt raus, in Zeit die toStringmethode stehen gelassen und in Datum mit superaufgerufen und den Rest dran geklebt (änlich wie oben), dann läufts :)

Ich danke sehr für die Geduld und Hilfe.
 

AquaBall

Top Contributor
[STRIKE]Wurde ja schon gesagt:
Poste deine Klassen Datum.java, und deinen Aufruf in Main.java , dann können wir dein Problem vielleicht verstehen.

Es scheint so, dass du keine saubere Klasse hast, sonst müsste override korrekt funktionieren.
Das musst als Methode in der Klasse Datum definieren.

[/STRIKE]
Edit: shit, jetzt hab ich auch übersehen, dass es eine 2. Seite gibt! Sorry
(Seltsam, dass das mehreren passiert!?)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Problem mit der Serialisierung Java Basics - Anfänger-Themen 31
M Serialisierung in Java Java Basics - Anfänger-Themen 10
S Serialisierung: Laden von Objekten - Risiken? Java Basics - Anfänger-Themen 4
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
I Input/Output Alternative zur Serialisierung/ ImageJ Objecte Java Basics - Anfänger-Themen 7
W Nullpointer bei Objekt Serialisierung mit ArrayList<byte[]> etc. Java Basics - Anfänger-Themen 2
V Java Serialisierung Java Basics - Anfänger-Themen 2
O Objekt Listen serialisierung und deserialisieren Java Basics - Anfänger-Themen 5
V Serialisierung Umbennung einer Klasse Java Basics - Anfänger-Themen 2
G Input/Output Serialisierung oder Datenbank Java Basics - Anfänger-Themen 6
K Input/Output Serialisierung Java Basics - Anfänger-Themen 7
P Serialisierung - Objekte vergleichen Java Basics - Anfänger-Themen 4
J Input/Output Serialisierung Java Basics - Anfänger-Themen 6
K Serialisierung: speichern und auslesen, auslesen klappt nicht Java Basics - Anfänger-Themen 14
B Std-Serialisierung - Speichern/Laden geht nur auf einem Rechner Java Basics - Anfänger-Themen 17
W Problem mit Serialisierung von jTable Java Basics - Anfänger-Themen 15
E Serialisierung - Exception? Java Basics - Anfänger-Themen 21
T Collections (De)-Serialisierung meines HashSets Java Basics - Anfänger-Themen 3
J Input/Output Serialisierung Java Basics - Anfänger-Themen 6
W Problem mit Serialisierung und TableModel Java Basics - Anfänger-Themen 3
F Sonderzeichen bei XML Serialisierung nicht konvertieren Java Basics - Anfänger-Themen 7
O Serialisierung: Object abspeichern und aufrufen Java Basics - Anfänger-Themen 6
L Java Serialisierung Singleton Java Basics - Anfänger-Themen 6
Luk10 Serialisierung bei schon vorhandener Datei Java Basics - Anfänger-Themen 15
I Serialisierung ClassNotFound Java Basics - Anfänger-Themen 8
S serialisierung Java Basics - Anfänger-Themen 3
E Alternativen zur binären Serialisierung ? Java Basics - Anfänger-Themen 9
J Serialisierung - Array-Objekt serialisieren/deserialisieren Java Basics - Anfänger-Themen 6
G Frage zu Serialisierung Java Basics - Anfänger-Themen 4
M Serialisierung erstes Beispiel Java Basics - Anfänger-Themen 4
A Per Serialisierung speichern Java Basics - Anfänger-Themen 2
DStrohma Problem mit Serialisierung Java Basics - Anfänger-Themen 3
T Threads und Serialisierung Java Basics - Anfänger-Themen 4
Z Serialisierung vs. Sicherheit Java Basics - Anfänger-Themen 2
R Serialisierung von Objekten Java Basics - Anfänger-Themen 12
S Serialisierung Java Basics - Anfänger-Themen 8
G Objekt Serialisierung Java Basics - Anfänger-Themen 3
P Serializable - Serialisierung Java Basics - Anfänger-Themen 5
P Collection Vector speichern mittels Serialisierung? Java Basics - Anfänger-Themen 2
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
MiMa Probleme mit Datentyp long ?? Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
Jxhnny.lpz TicTacToe Spiel vs Computer. (Probleme) Java Basics - Anfänger-Themen 7
B Quiz mit RMI Probleme mit RMI start Java Basics - Anfänger-Themen 4
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
V Probleme Guessing Game Java Basics - Anfänger-Themen 8
hebein PDF Ausdruck auf Drucker - Probleme mit Format Java Basics - Anfänger-Themen 17
R JMenu/JMenuItem Probleme Java Basics - Anfänger-Themen 2
B Static vs non static und Probleme daraus Java Basics - Anfänger-Themen 13
J Probleme mit dem Debugger Java Basics - Anfänger-Themen 4
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
J Probleme mit Kompilierung Java Basics - Anfänger-Themen 11
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
C Probleme mit paintComponent Java Basics - Anfänger-Themen 13
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
E JavaFX Editor Probleme mit der Zwischenablage Java Basics - Anfänger-Themen 12
C Probleme mit dem Erstellen und Importieren von Packages Java Basics - Anfänger-Themen 6
3 OOP erste Versuche, OOP zu verstehen. Probleme mit gettern und settern Java Basics - Anfänger-Themen 4
R Erste Schritte Probleme bei 2D Spielfeld, mit einzufügender "Person" Java Basics - Anfänger-Themen 5
P Probleme bei der Installation von JavaFX Java Basics - Anfänger-Themen 3
S Mehrere Probleme im Code Java Basics - Anfänger-Themen 7
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
Dimax String Probleme Java Basics - Anfänger-Themen 12
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
Splayfer Java Array Probleme Java Basics - Anfänger-Themen 3
J Probleme bei IllegalArgumentException "werfen". Java Basics - Anfänger-Themen 1
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
X Probleme im Umgang mit PriorityQueue Java Basics - Anfänger-Themen 75
D Probleme mit dem Windowbuilder und JComboBox Java Basics - Anfänger-Themen 2
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
X Probleme mit Übungsaufgaben zu Zahlentypen Java Basics - Anfänger-Themen 4
G Probleme bei Aufgabe Java Basics - Anfänger-Themen 12
P Erste Schritte Probleme mit dem Programmieren Java Basics - Anfänger-Themen 12
B Probleme bei einer Aufgabe Java Basics - Anfänger-Themen 19
Franzi1001 Probleme mit Eclipse Java Basics - Anfänger-Themen 7
T Probleme bei Installation von JDK Java Basics - Anfänger-Themen 2
C Probleme mit String-Vergleich Java Basics - Anfänger-Themen 4
C Probleme bei Regex Java Basics - Anfänger-Themen 9
V Probleme mit Arrays Java Basics - Anfänger-Themen 8
D Kleine Probleme mit Split-Befehlen Java Basics - Anfänger-Themen 5
T Probleme mit Strings Java Basics - Anfänger-Themen 6
G Probleme bei Frame aufgaben Java Basics - Anfänger-Themen 6
N Probleme mit dem ActionListener Java Basics - Anfänger-Themen 4
D Probleme beim Kompelieren mache ich etwas falsch ? Java Basics - Anfänger-Themen 3
L Probleme mit Java Java Basics - Anfänger-Themen 3
S Probleme mit abspielen einer .wav Datei Java Basics - Anfänger-Themen 2
J Probleme bei der Umwandlung einer Farbe von Hex zu RGB Java Basics - Anfänger-Themen 8
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
M Probleme beim aktualisieren eines JPanels Java Basics - Anfänger-Themen 7
J Probleme beim Array ausgeben Java Basics - Anfänger-Themen 4
M Probleme bei rekursiver Zuordnung Java Basics - Anfänger-Themen 1
I Probleme mit 2 dimensionale Arrays Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben