2021-04-29 20:51发布
假设你想保存一个或多个对象的状态。如果Java不具备串行化能力,就不得不使用某个I/O类写出你想保存的所有对象的实例变量的状态。串行化简单地说就是“保存这个对象及其所有实例变量Transient,这意味,不会把瞬态变量的值作为对象的串行化状态的一部分包括进来。”。实际上,更有趣的是,显式地将一个变量标识为将要实现序列化的类必须实现Serializable接口或者是Externalizable接口。在Serializable接口中没有定义任何方法,而在Externalizable接口中需要实现public void writeExternal(ObjectOutput out) throws IOException{}以及public void readExternal(ObjectInput in) throws IOException,ClassNotFoundException{}抽象方法。一.实现Serializable接口的序列化package demo;import java.io.Serializable;public class Person implements Serializable{ private String name;private char sex;private int age;public Person(String name,char sex,int age){this.name=name;this.sex=sex;this.age=age; }public String getName(){return name;}public void setName(String name){this.name = name;}public char getSex(){return sex;}public void setSex(char sex){this.sex = sex;}public int getAge(){return age;}public void setAge(int age){this.age = age;}public String toString(){return getName()+", "+getSex()+", "+getAge();}}
最多设置5个标签!
假设你想保存一个或多个对象的状态。如果Java不具备串行化能力,就不得不使用某个I/O类写出你想保存的所有对象的实例变量的状态。
串行化简单地说就是“保存这个对象及其所有实例变量Transient,这意味,不会把瞬态变量的值作为对象的串行化状态的一部分包括进来。”。实际上,更有趣的是,显式地将一个变量标识为
将要实现序列化的类必须实现Serializable接口或者是Externalizable接口。
在Serializable接口中没有定义任何方法,而在Externalizable接口中需要实现
public void writeExternal(ObjectOutput out) throws IOException{}以及
public void readExternal(ObjectInput in) throws IOException,ClassNotFoundException{}抽象方法。
一.实现Serializable接口的序列化
package demo;
import java.io.Serializable;
public class Person implements Serializable
{
private String name;
private char sex;
private int age;
public Person(String name,char sex,int age)
{
this.name=name;
this.sex=sex;
this.age=age;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public char getSex()
{
return sex;
}
public void setSex(char sex)
{
this.sex = sex;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public String toString()
{
return getName()+", "+getSex()+", "+getAge();
}
}
一周热门 更多>