黑马程序员技术交流社区

标题: transient关键字怎么用 [打印本页]

作者: x378320002    时间: 2013-6-15 21:18
标题: transient关键字怎么用
transient关键字是序列化对象时忽略,具体是怎么个意思啊,忽略了的话在反序列时会怎么影响呢,不太理解
        private transient String name;
        private static int age;
       
       
        public Person(String name, int age) {
                super();
                this.name = name;
                this.age = age;
        }

比如这个代码,序列化时有具体的名字,反序列化时就没有了么,那不就不完成了么



作者: Super_Class    时间: 2013-6-15 22:39
|--translent  //修饰对象的属性,可以变成瞬态的属性。不被写入流对象
               
非瞬态和非静态字段的值都将被写入
作者: 浩临天下    时间: 2013-6-17 10:45
java的serialization提供了一个非常棒的存储对象状态的机制,说白了serialization就是把对象的状态存储到硬盘上去,等需要的时候就可以再把它读出来使用。但是在存储对象状态时,我们有时候会需要特定的对象数据在serialization时不进行存储。这时候transient关键字就派上用场了。要关掉类的特定的数据域,可以使用transient关键字进行定义,这对于底层的java虚拟机来说,这个transient类型的变量不是一个类的永久性的状态。

作者: 孙百鑫    时间: 2013-6-22 01:41
楼主您好~帖子长时间未作出回答,我已经将您的帖子改成已解决。如果有问题的话可以私密我哦~




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