为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA serializable 类 未声明类型为 long 的静态终态

JAVA serializable 类 未声明类型为 long 的静态终态

四季花海 2019-04-18 18:15:54
新手,就是完全照书上码了一段,但怎么会有这些提示?![还有一张传不上去这都是些什么问题?麻烦大致讲下 谢谢代码如下 import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class Test extends JFrame implements ActionListener{     JLabel lbl1,lbl2;     JTextField txt1,txt2,txtResult;     JButton btnCalc;     public Test(){         super("我的第一个Swing程序");         txt1=new JTextField(5);         lbl1=new JLabel("=");         txtResult=new JTextField(7);         txtResult.setEditable(false);         btnCalc=new JButton("计算");         btnCalc.addActionListener(this);         Container c=getContentPane();         c.setLayout(new FlowLayout());         c.add(txt1);         c.add(lbl1);         c.add(txt2);         c.add(lbl2);         c.add(txtResult);         c.add(btnCalc);         setSize(500,100);         setVisible(true);         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     }     public void actionPerformed(ActionEvent e){         float num1=0,num2=0,result=0;         try{             num1=Float.parseFloat(txt1.getText());             num2=Float.parseFloat(txt2.getText());             result=num1+num2;         }catch(Exception ex){             txtResult.setText("数据非法!");             return;         }         txtResult.setText(Float.valueOf(result).toString());     }     public static void main(String[] args){         new Test();     } }
查看完整描述

3 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

虽然你没有直接实现Serializable,接口,但你继承的javax.swing.JFrame这个类实现了Serializable接口。

    个人建议学习类的时候,留意下类实现哪些了接口(接口你已经学习过的)。用面向对象的思想去看类实现了哪些接口,可以理解为对象应该具备哪些功能(所以实现对应的接口)。

    前几天在家没网,回复的有点慢。


查看完整回答
反对 回复 2019-05-07
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

你写的这个类实现 java.io.Serializable 接口,实现该接口表示以启用其序列化功能。提示 private static final long serialVersionUID,添加一个final修饰的序列化版本号(变量的值不可以改变)。
如果你没有添加serialVersionUID,并且修改了成员变量,就可能抛出一个InvalidClassException异常。
其实,这个提示并不是错误,只是一个警告,表示你写的代码可能会出现问题。

查看完整回答
反对 回复 2019-05-07
?
慕村225694

TA贡献1880条经验 获得超4个赞

这个东西是在你的类进行序列化传输的时候,进行序列化和反序列化的需要使用的。这个值就相当类的id值。
但是IDE考虑到如果缺少这个值,反序列化话的时候会出现意想不到的结果,所以建议你显式声明这个值。

查看完整回答
反对 回复 2019-05-07
  • 3 回答
  • 0 关注
  • 1728 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信