transient
- 作用:防止属性被序列化
- 使用场景:与
Serializable
接口搭配使用,当某个类实现了Serializable
接口,但是有些属性不想被序列化,那么就可以用transient
修饰这些属性。不过transient
不会对另外一个序列化接口Externalizable
起效果(原因:Serializable
是 JVM 自动进行序列化的,而Externalizable
需要通过readExternal
和writeExternal
两个方法自己定义序列化和反序列化的实现方式,因此即使被transient
修饰也和能否被序列化无关) - 注意:被
static
修饰的变量也不能被序列化,与是否被transient
修饰无关