如何理解Serializable接口?

时间:2016-03-14 20:40:10

标签: java serialization

我知道接口 Serializable 的实现使得一个对象被序列化,但是当接口只是一个类的定义时,如何使用它们的方法:

interface Serializable {
   public one();
   public two();
}

public class Dog implements Serializable {
private static final long serialVersionUID = 1L;
  ...
}

(类Dog没有实现Serializable的任何方法)

我根本不明白,你能解释一下吗?

1 个答案:

答案 0 :(得分:2)

原因是因为界面没有方法......

为什么不呢?

因为界面被定义为'标记界面'。

那是什么??:

该接口仅用于TAG对象,以便JVM可以在运行时获取有关它们的更多信息

如果有机会,请查看Joshua Bloch的 Effective java

引用:

  

标记接口是一个不包含任何方法的接口   声明,但只是指定(或“标记”)一个类   将接口实现为具有某些属性。

     

例如,   考虑Serializable接口(第11章)。通过实施这一点   接口,一个类表示其实例可以写入   ObjectOutputStream(或“序列化”)....