您的位置:首页 > 编程语言 > Java开发

有关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(向下兼容)。在计算机中指在一个程序或者类库更新到较新的版本后,用旧的版本程序创建的文档或系统仍能被正常操作或使用,或在旧版本的类库的基础上开发的程序仍能正常编译运行的情况。可见一个小小的警告背后的内容还是相当丰富的。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息