import acm.graphics.*;
import acm.program.*;
import java.awt.*;
public class MyRobot extends GraphicsProgram {
}
}
这是我写的代码,每当我放extends GraphicsProgram
或ConsoleProgram
时,它就会告诉我
The serializable class MyRobot does not declare a static final serialVersionUID field of type long.
此外,当我尝试使用此警告运行程序时,它只显示一个空白程序。
任何人都可以帮我解决这些问题吗?
答案 0 :(得分:3)
这是因为你的班级是Serializable。
类的可序列化由实现该类的类启用 java.io.Serializable接口。没有实现此功能的类 接口不会将其任何状态序列化或反序列化。 可序列化类的所有子类型本身都是可序列化的。该 序列化接口没有方法或字段,仅用于 确定可序列化的语义。
答案 1 :(得分:1)
该程序可能没有显示任何内容,因为没有添加任何组件,也没有绘制任何内容。但是,除非您使用其中一个创建隐形main()
的棘手IDE或除了MyRobot
之外还有另一个类,否则我无法看到此代码如何运行。
双击“问题”选项卡中的警告,以关注问题类。
键入 Ctrl 1 进行“快速修复”
选择下面显示的第一个或第二个选项。
答案 2 :(得分:1)
善待java。您使用具有Serializable接口的类。他们需要你declare a static final serialVersionUID field of type long
。他们要求你这样做。真善良,declare a static final serialVersionUID field of type long
。 :-)。 和+1对于新手来说并不是一个坏问题。