transient

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