Applet(不声明long类型的静态最终serialVersionUID字段)

我刚开始学习Java编程。 我在Applets的第一章中给出了这个程序(Applet类),它给了我这个错误。 我试图找到一个解决方案,但不能。

根据这本书,这个程序应该显示一个窗口,但是当我扩展Applet类时,出现这个错误:

“此行的多个标记 - 可序列化的类AppletSkel不声明long类型的静态最终serialVersionUID字段 - 公共类型AppletSkel必须在其自己的文件中定义”

这是我的代码

//An Applet Skeleton

import java.awt.*;
import java.applet.*;

/*<applet code="Appletskel" width=300 height=100>
</applet>*/

//错误

 public class AppletSkel extends Applet { 
        public void init(){
    }

        public void start() {

        }

        public void stop(){

        }

        public void destroy() {

        }

        public void paint(Graphics g){
        }

第一条消息不是一个错误,而是一个警告。 由于Applet实现了Serializable接口,它应该有一个唯一的称为serialVersionUID的长标识符来跟随接口的合同。 编译器警告你,你的班级不遵守这个规则,但请注意,这只是一个警告。 你的代码仍然会编译(如果没有其他问题)并仍然运行(如果没有其他问题)。

告诉编译器“闭嘴”并忽略问题的一种方法是在类声明之前使用注释: @SuppressWarnings("serial")

@SuppressWarnings("serial")
public class MyFoo {
   //...
}

第二个编译器消息是一个真正的编译错误:

公共类型AppletSkel必须在其自己的文件中定义

您需要确保您的文件名与类名匹配。 它应该是AppletSkel.java 。 这必须修复以使代码运行。

链接地址: http://www.djcxy.com/p/23873.html

上一篇: Applet (does not declare a static final serialVersionUID field of type long)

下一篇: Why is String class declared final in Java?