首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

I/O 五:序列化

2012-11-07 
I/O 5:序列化?一个类如想被序列化,是需要实现java.io.Seralizable接口,该接口中没有定义任何方法,是一个标

I/O 5:序列化

I/O 五:序列化

?

一个类如想被序列化,是需要实现java.io.Seralizable接口,该接口中没有定义任何方法,是一个标识性接口(Marker Interface),当一个类实现了该接口,就表示这个类的对象是可以序列化的。

I/O 五:序列化

I/O 五:序列化

I/O 五:序列化

transient这个关键字只用在序列化中,将引用的对象标识为transient,则此对象不会被序列化。如下

private transient User ....

?

在序列化时,static变量是无法被序列化的;如果A包含了对B的引用,那么在序列化A时也会将B一并地序列化;如果此时A可以序列化,B无法序列化,那么当序列化A的时候就会发生异常。这时就需要将对B的引用设为transient。该关键字表示变量不会被序列化。

I/O 五:序列化

I/O 五:序列化

I/O 五:序列化

I/O 五:序列化

I/O 五:序列化

I/O 五:序列化

?

由于name是transient的,所以不会被序列化。

?I/O 五:序列化

实现上述两个方法后,序列化与反序列化则完成类自身来控制。

?

?当我们在一个待序列化/反序列化的类中实现了上面两个private方法(方法声明要与上面的保持一致),那么就允许我们以更加底层,更加细粒度的方式序列化/反序列化的过程。

热点排行