-1

I just began learning Java programming. I made this one program given in the first chapter on Applets (The applet class) and it gave me this error. I tried to find a solution but couldn't.

According to the book this program should display a window but I get this error when I extend the Applet class :

"Multiple markers at this line - The serializable class AppletSkel does not declare a static final serialVersionUID field of type long - The public type AppletSkel must be defined in its own file "

Heres my code;

//An Applet Skeleton

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

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

//ERROR

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

        public void start() {

        }

        public void stop(){

        }

        public void destroy() {

        }

        public void paint(Graphics g){
        }
4

2 回答 2

3

第一条消息不是错误,而是警告。因为 Applet 实现了 Serializable 接口,所以它应该有一个称为 serialVersionUID 的唯一长标识符来遵循接口的约定。编译器警告你你的类不遵守这条规则,但请注意这只是一个警告。您的代码仍将编译(如果没有其他问题)并仍然运行(如果没有其他问题)。

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

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

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

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

您需要确保您的文件名与类名匹配。应该是AppletSkel.java。必须修复此问题,您的代码才能运行。

于 2013-08-27T03:37:26.943 回答
0

在您之前使用此代码@WebServlet以解决问题。 @SuppressWarnings("serial")

例如:

@SuppressWarnings("serial")
@WebServlet("/Servlet")
于 2019-10-14T03:13:46.683 回答