问题标题:
java中写Applet小程序的问题,使用Eclipse集成开发工具.程序没有错误,可以运行,但是在publicclass后面的类名有下划线,显示一个警告,“TheserializableclassMyplayerdoesnotdeclareastaticfinalserialVersionUI
问题描述:
java中写Applet小程序的问题,使用Eclipse集成开发工具.程序没有错误,可以运行,但是在publicclass后面的类名有下划线,显示一个警告,“TheserializableclassMyplayerdoesnotdeclareastaticfinalserialVersionUIDfieldoftypelong”.
部分代码:
importjava.awt.*;
importjava.applet.*;
publicclassMyplayerextendsApplet{
Stringfile="不可一世.au";
AudioClipclip;
Buttonb1,b2,b3;
Choicechoice=newChoice();
publicvoidinit(){
setSize(400,50);
choice.add(file);//设置可拉框,显示当前播放的歌名
add(choice);
b1=newButton("start");//设置三个按钮,分别为start,loop,stop.
b2=newButton("loop");
b3=newButton("stop");
add(b1);
add(b2);
add(b3);
clip=this.getAudioClip(getDocumentBase(),file);//取得声音文件
}
这到底是什么意思,怎么可以解决.?
刘维亭回答:
这个警告是提示你要实现序列化.Applet需要在网络上进行传输(对象会离开内存),所以需要实现序列化,以便用户在接收时通过反序列化就可以将你传输的对象重新在内存中还原.
陈杰翔回答:
请问怎样才能实现序列化???
刘维亭回答:
Applet的父类publicabstractclassComponentimplementsImageObserver,MenuContainer,Serializable{已经实现过序列化Serializable了,这里只是需要一个对象的标识,publicclassMyplayerextendsApplet{privatestaticfinallongserialVersionUID=1L;//这个是缺省的或者privatestaticfinallongserialVersionUID=-8534844170998963067L;//自动生成的。这两句随便写一个都行或者@SuppressWarnings("serial")publicclassAudioAppletextendsApplet{不要写个注解忽略这个警告
点击显示
其它推荐