黑马程序员技术交流社区

标题: 什么叫做对象的序列化?加了transient不能被序列化,为什... [打印本页]

作者: 靓仔    时间: 2014-2-23 21:16
标题: 什么叫做对象的序列化?加了transient不能被序列化,为什...
import java.io.*;
class Person implements Serializable
{
        public static final long serialVersionUID = 42L;//UID固定可以在修改成员时还能被序列化
        static String country="cn";
        private String name;
        transient int age;//这样修饰后打印结果年龄为0,因为加了transient后,年龄不能被序列化了
        Person(String name,int age,String country)
        {
                this.name = name;
                this.age = age;
                this.country=country;
        }
        public String toString()
        {
                return name+":"+age+country;
        }
}
作者: Amorvos    时间: 2014-2-23 22:00
对象序列化机制允许吧内存中的Java对象转换成与平台无关的二进制流,从而允许将这种二进制流持久的存储在硬盘上。其他程序一旦获得这种二进制流,都可以将这种二进制流恢复成原来的Java对象。

序列化实现两个接口之一:Serializable ; Externalizable 。当为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。你关闭了当然是0啊,没序列化age





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2