java序列化

如果一个类能被序列化,那么它的子类也能够被序列化。
由于static(静态)代表类的成员,transient(Java关键字,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持)代表对象的临时数据,因此被声明为这两种类型的数据成员是不能够被序列化的。

这几篇博客不错,讲的很详细:
【1】http://www.cnblogs.com/zhanglei93/p/5890212.html
【2】http://www.oracle.com/technetwork/articles/java/javaserial-1536170.html
代码:

public class UserDTOTest {
    @Test
    public void testSerializable() throws IOException, ClassNotFoundException {
        UserDTO userDTO = new UserDTO();
        userDTO.setId(1);
        userDTO.setIdentity_name("张青");
        ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("jason.se"));
        objectOutputStream.writeObject(userDTO);
        objectOutputStream.close();


        ObjectInputStream ois = new ObjectInputStream(new FileInputStream("jason.se"));
        UserDTO jason = (UserDTO) ois.readObject();
        ois.close();
        System.out.println("jason = " + jason.toString());
    }
}

你可能感兴趣的:(java序列化)