我在Eclipse中的类中遇到错误

时间:2012-03-24 21:42:27

标签: java eclipse serialversionuid

import acm.graphics.*;
import acm.program.*;
import java.awt.*;

      public class MyRobot extends GraphicsProgram {
        }
 }

这是我写的代码,每当我放extends GraphicsProgramConsoleProgram时,它就会告诉我

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

此外,当我尝试使用此警告运行程序时,它只显示一个空白程序。

任何人都可以帮我解决这些问题吗?

3 个答案:

答案 0 :(得分:3)

这是因为你的班级是Serializable

  

类的可序列化由实现该类的类启用   java.io.Serializable接口。没有实现此功能的类   接口不会将其任何状态序列化或反序列化。   可序列化类的所有子类型本身都是可序列化的。该   序列化接口没有方法或字段,仅用于   确定可序列化的语义。

答案 1 :(得分:1)

该程序可能没有显示任何内容,因为没有添加任何组件,也没有绘制任何内容。但是,除非您使用其中一个创建隐形main()的棘手IDE或除了MyRobot之外还有另一个类,否则我无法看到此代码如何运行。


BTW - 忘记在Eclipse中提到“快速修复”了:

  1. 双击“问题”选项卡中的警告,以关注问题类。

  2. 键入 Ctrl 1 进行“快速修复”

  3. 选择下面显示的第一个或第二个选项。

  4. Eclipse SerrialVersionUID Quick Fix

答案 2 :(得分:1)

善待java。您使用具有Seri​​alizable接口的类。他们需要你declare a static final serialVersionUID field of type long。他们要求你这样做。真善良,declare a static final serialVersionUID field of type long。 :-)。 和+1对于新手来说并不是一个坏问题。