21xrx.com
2024-11-05 22:33:16 Tuesday
登录
文章检索 我的文章 写文章
Java中的Serializable接口解析及代码案例
2023-06-18 06:43:37 深夜i     --     --
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接口的类中需要显式声明一个无参构造函数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复