有关the serializable class的一点感想
2014-08-14 10:20
267 查看
先上个程序体现以下Myeclipse里面提示的警告:
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
public class WindowHTML extends JFrame implements ActionListener,Runnable{
//private static final long serialVersionUID = 1L;
JButton button;
URL url;
JTextField text;
JTextArea area;
byte b[]=new byte[118];
Thread thread;
WindowHTML(){
text=new JTextField(20);
area=new JTextArea(12,12);
button=new JButton("确定");
button.addActionListener(this);
thread=new Thread(this);
JPanel p=new JPanel();
p.add(new JLabel("输入你要查询的网址"));
p.add(text);
p.add(button);
add(new JScrollPane(area),BorderLayout.CENTER);
add(p,BorderLayout.NORTH);
setBounds(60,60,450,300);
setVisible(true);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
if(!(thread.isAlive()))
thread=new Thread(this);
try{
thread.start();
}catch(Exception ee){
text.setText("正在读取,请稍后......"+url);
}
}
public void run(){
try{int n=-1;
area.setText(null);
url=new URL(text.getText().trim());
InputStream is=url.openStream();
while((n=is.read(b))!=-1){
String s =new String(b,0,n);
area.append(s);
}
} catch(Exception e1){
text.setText(""+e1);
return;
}
}
}
注释掉的语句之后会出现一个问题:The serializable class does not declare a static final。当实现了一个序列化的接口或者可以序列化类的时候,要注意serialVersionUID(UID是用户界面设计)最好定义private static final long serialVersionUID = 1L; 这条语句,即便他是一个小小的兼容性警告。目的就是为了实现Downward Compatibility(向下兼容)。在计算机中指在一个程序或者类库更新到较新的版本后,用旧的版本程序创建的文档或系统仍能被正常操作或使用,或在旧版本的类库的基础上开发的程序仍能正常编译运行的情况。可见一个小小的警告背后的内容还是相当丰富的。
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
public class WindowHTML extends JFrame implements ActionListener,Runnable{
//private static final long serialVersionUID = 1L;
JButton button;
URL url;
JTextField text;
JTextArea area;
byte b[]=new byte[118];
Thread thread;
WindowHTML(){
text=new JTextField(20);
area=new JTextArea(12,12);
button=new JButton("确定");
button.addActionListener(this);
thread=new Thread(this);
JPanel p=new JPanel();
p.add(new JLabel("输入你要查询的网址"));
p.add(text);
p.add(button);
add(new JScrollPane(area),BorderLayout.CENTER);
add(p,BorderLayout.NORTH);
setBounds(60,60,450,300);
setVisible(true);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
if(!(thread.isAlive()))
thread=new Thread(this);
try{
thread.start();
}catch(Exception ee){
text.setText("正在读取,请稍后......"+url);
}
}
public void run(){
try{int n=-1;
area.setText(null);
url=new URL(text.getText().trim());
InputStream is=url.openStream();
while((n=is.read(b))!=-1){
String s =new String(b,0,n);
area.append(s);
}
} catch(Exception e1){
text.setText(""+e1);
return;
}
}
}
注释掉的语句之后会出现一个问题:The serializable class does not declare a static final。当实现了一个序列化的接口或者可以序列化类的时候,要注意serialVersionUID(UID是用户界面设计)最好定义private static final long serialVersionUID = 1L; 这条语句,即便他是一个小小的兼容性警告。目的就是为了实现Downward Compatibility(向下兼容)。在计算机中指在一个程序或者类库更新到较新的版本后,用旧的版本程序创建的文档或系统仍能被正常操作或使用,或在旧版本的类库的基础上开发的程序仍能正常编译运行的情况。可见一个小小的警告背后的内容还是相当丰富的。
相关文章推荐
- 有关敏捷开发的一点感想[110617班 刘耀先]
- 有关Splay Tree的一点感想
- 有关虚拟机使用的一点感想
- 有关substr的一点感想
- 有关技术文档的一点感想
- 管理的一点感想
- 一点感想
- 关于ETL引擎设计的一点感想
- ArcGIS 9.3和ArcGIS 10,一点感想
- 关于合成孔径声纳技术一点感想
- RAILS开发的一点感想
- 技术水平与经理对话的一点感想
- 关于创业的一点感想
- 写文档的一点感想
- struts 2学习(有关Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory的错误)
- 在工作中遇到数据优化的一点感想
- 关于游戏编程的一点感想
- 关于变量名的一点感想
- 关于技术学习的一点感想