【Applet(未声明类型为long的静态最终serialVersionUID字段)】满堂花醉三千客,一剑霜寒十四州。这篇文章主要讲述Applet(未声明类型为long的静态最终serialVersionUID字段)相关的知识,希望能为你提供帮助。
我刚刚开始学习java编程。我编写了第一章有关Applet的程序(applet类),它给了我这个错误。我试图找到一种解决方案,但是找不到。
根据书,该程序应该显示一个窗口,但是在扩展Applet类时出现此错误:
“此行有多个标记-可序列化的类AppletSkel没有声明以下项的静态最终serialVersionUID字段:键入长-必须在其自己的文件“
中定义公共类型AppletSkel这里是我的代码;
//An Applet Skeletonimport 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
。必须修复此问题才能运行代码。另一答案
@WebServlet
之前使用此代码可解决此问题。@SuppressWarnings("serial")
例如:
@SuppressWarnings("serial")
@WebServlet("/Servlet")
推荐阅读
- 在尝试连接到applet进行调试时,'shmemBase_attach失败(系统无法找到指定的文件')
- 无法执行Applet程序(applet是未初始化)
- 如何在地址为46.XX.XX.XX的页面中下载java applet类文件(8008 /)
- 为Java Applet启用TLSv1.2
- Object不支持此属性或方法 - 在IE9中调用Applet
- 11个在线免费工具,用于扫描网站安全漏洞和恶意软件
- IBM HTTP Server安全性和强化指南
- 如何保护Joomla网站免受蛮力攻击()
- 保护Magento免受在线威胁的14个基本技巧