黑马程序员技术交流社区
标题:
对象的序列化,为什么静态成员不能被序列化?
[打印本页]
作者:
lijia113
时间:
2013-8-7 00:25
标题:
对象的序列化,为什么静态成员不能被序列化?
序列化有什么作用?为什么静态成员不能被序列化?
被transeio修饰的成员为什么也不能被序列化?
作者:
吃阁子的猫
时间:
2013-8-10 11:48
计算机是以二进制存储数据的,将对象序列化,就是将对象转为字节数组,也就是将对象转为可以存储和传输的格式.
关于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修饰的变量,而静态变量不属于对象,属于类,因此也不能被序列化。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2