2012-03-24 8 views
-3
import acm.graphics.*; 
import acm.program.*; 
import java.awt.*; 

     public class MyRobot extends GraphicsProgram { 
     } 
} 

, dass der Code schrieb ich und wenn ich extends GraphicsProgram oder ConsoleProgram setzen, es sagt mirIm einen Fehler in meiner Klasse in Eclipse bekommen

The serializable class MyRobot does not declare a static final serialVersionUID field of type long. 

Auch, wenn ich versuche, ein Programm mit diesem laufen Warnung, es zeigt nur ein leeres Programm.

Jeder kann mir bei diesen Problemen helfen?

+0

Bitte stellen Sie eine Frage pro Thread. –

Antwort

1

Das Programm zeigt wahrscheinlich nichts an, da keine Komponenten hinzugefügt wurden und nichts darin gezeichnet wurde. Aber wenn Sie nicht eine dieser kniffligen IDEs verwenden, die eine unsichtbare main() erstellt oder es gibt eine andere Klasse neben MyRobot, ich sehe nicht, wie dieser Code ausgeführt werden könnte.


BTW - vergessen, die 'Quick-Fix' dazu in Eclipse zu erwähnen ist:

  1. die Warnung in den Problemen Registerkarte Klicken Sie doppelt auf die Problemklasse zu konzentrieren.

  2. Typ Ctrl für 'Quick Fix'

  3. der ersten oder zweiten Optionen auswählen, die unten erscheinen.

Eclipse SerrialVersionUID Quick Fix

+0

Entschuldigung, aber ich habe nicht den Code innerhalb Cuz ich dinndnt Sache, die ich war notwendig. – user1290535

+3

Woher wissen Sie, was relevant/notwendig ist, bis das Problem gelöst ist? Bitte verwende keine erfundenen Wörter wie 'cuz'. Dieses Wort ist "weil". Es hilft Menschen, Ihnen zu helfen *. –

+0

Siehe auch das Update. –

3

Es ist, weil Ihre Klasse Serializable ist.

Die Serialisierbarkeit einer Klasse wird von der Klasse aktiviert, die die Schnittstelle java.io.Serializable implementiert. Für Klassen, die diese Schnittstelle nicht implementieren, wird keiner ihrer Status serialisiert oder deserialisiert. Alle Subtypen einer serialisierbaren Klasse sind selbst serialisierbar. Die Serialisierungsschnittstelle hat keine Methoden oder Felder und dient nur dazu die Semantik der Serialisierung zu identifizieren.

1

Seien Sie nett zu Java. Sie verwenden Klassen mit Serializable-Schnittstelle. Sie brauchen dich bis declare a static final serialVersionUID field of type long. Sie bitten dich, es zu tun. Sei so nett, declare a static final serialVersionUID field of type long. :-). Und +1 für es ist keine schlechte Frage für einen Neuling.

Verwandte Themen