21xrx.com
2025-03-29 13:52:21 Saturday
文章检索 我的文章 写文章
Java中的Serializable接口解析及代码案例
2023-06-18 06:43:37 深夜i     12     0
Java Serializable 对象序列化

文章

Java中的Serializable接口是什么意思?在Java中,当我们需要将一个对象保存到文件或者通过网络传输时,就需要将其序列化为二进制流。而Serializable接口就是Java中提供的一种用于实现对象序列化的接口。

实现Serializable接口只需要在类名上加上该接口即可,如下所示:

public class Person implements Serializable
  private String name;
  private int age;
  // 省略构造方法和getter/setter方法...

接下来,我们就可以将一个Person对象序列化为二进制流,然后保存到文件或者通过网络传输:

// 序列化
Person person = new Person("Tom", 18);
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("person.ser"));
oos.writeObject(person);
oos.close();
// 反序列化
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("person.ser"));
Person person2 = (Person) ois.readObject();
ois.close();
System.out.println(person2.getName()+", "+person2.getAge()); // 输出 Tom, 18

在上面的代码中,我们通过ObjectOutputStream类将一个Person对象序列化为二进制流,并保存到了文件中。然后,通过ObjectInputStream类将这个二进制流反序列化为一个Person对象,并输出其属性值。

通过上面的例子,我们可以看出,Serializable接口的作用并不复杂——实现该接口就意味着这个类可以被序列化。此外,需要注意的是,实现Serializable接口的类中需要显式声明一个无参构造函数。

  
  

评论区