Transient关键字是Java语言中的一个关键字,它的作用是在序列化时使得某个成员变量不被序列化。对于某些希望被序列化的对象,但不希望有某些成员变量被序列化,可以使用Transient关键字来实现。
使用方法
在Java语言中,使用Transient关键字的方法是在变量前加上Transient关键字,例如:
private transient int age;
这样,当序列化对象时,age变量就不会被序列化到文件中,而是被忽略掉。
Transient关键字还可以用来修饰变量的getter和setter方法,这样可以使得变量的getter和setter方法不被序列化。
private int age; public int getAge(){ return this.age; } public void setAge(int age){ this.age = age; }
可以改为:
private transient int age; public transient int getAge(){ return this.age; } public void setAge(transient int age){ this.age = age; }
这样,当序列化对象时,age变量的getter和setter方法就不会被序列化到文件中,而是被忽略掉。
注意事项
- Transient关键字只能修饰变量,而不能修饰方法和类。
- Transient关键字只能修饰实例变量,而不能修饰类变量(static修饰的变量)。
- 被Transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。
- Transient关键字可以修饰变量的getter和setter方法,使得变量的getter和setter方法不被序列化。