计算机是以二进制存储数据的,将对象序列化,就是将对象转为字节数组,也就是将对象转为可以存储和传输的格式.
关于static和transient 修饰成员的问题,如代码:
class Person implements Serializable {
public static final long serialVersionUID = 1L;
String name;
transient int age; //被 transient 修饰
static String country = "CN"; //被static修饰
Person(String name, int age, String country) {
this.name = name;
this.age = age;
this.country = country;
}
}
transient是java的关键字,它只能修饰变量,而不能修改类和方法,因此在序列化对象时,将不会序列化被transient修饰的变量,而静态变量不属于对象,属于类,因此也不能被序列化。 |