Serializable实现部分属性的序列化与反序列化
实现部分属性序列化的方式
- 使用transient修饰符修饰属性
- 使用static修饰符修饰属性
- 使用源码WriteObject和readObject方法(略)
我们通过序列化案例作为案例,讲解前两种情况的使用和效果。
transient修饰
修改源码如下:
private transient double salary;
运行结果如下:

static修饰
修改源码如下:
private static double salary;
运行结果如下:

此时我们没看出有什么区别,我们在序列化方法后分别修改salary属性和name属性,
修改源码如下:
SerializableUtils.getSerializable(w1,"D:\\临时文件夹\\测试\\新建文件夹\\worker.txt");
w1.setSalary(25000);
w1.setName("花花");
Object o = SerializableUtils.getDeserializable("D:\\临时文件夹\\测试\\新建文件夹\\worker.txt");
System.out.println(o);
运行结果如下:

我们可以看出,name属性不会变化,salary属性变化,这说明salary没有序列化到文件中。
浙公网安备 33010602011771号