百度百科的解释:
Java语言的关键字,变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。换句话来说就是,用transient关键字标记的成员变量不参与序列化过程。
作用:
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。当一个对象被序列化的时候,transient型变量的值不包括在序列化的表示中,然而非transient型的变量是被包括进去的。
编码试验加以证明:
1.自定义类(为了方便,我直接在main方法所在类中添加的一个静态属性类,或者叫成员类)
public static class TransientTest implements Serializable{
private static final long serialVersionUID = 233858934995755239L;
private String name1;
private transient String name2;
public TransientTest(String name1,String name2){
this.name1 = name1;
this.name2 = name2;
}
public String toString(){
return String.format("TransientTest.toString(): name1=%s,name2=%s", name1,name2);
}
}
2.写一个测试方法</