【发布时间】:2015-03-13 19:39:05
【问题描述】:
我的问题不是关于理解对 Serializable 接口使用的技术理解。 这些答案已经在others 中[1] 和[2] 进行了解释
我的问题是从句法的角度来看的。
在查看 Collection 接口及其子接口的源代码时,我注意到大部分接口都实现了Cloneable 和java.io.Serializable,如下所示:
public class TreeSet<E> extends AbstractSet<E>
implements NavigableSet<E>, Cloneable, java.io.Serializable{
...
}
public class LinkedHashSet<E>
extends HashSet<E>
implements Set<E>, Cloneable, java.io.Serializable {
...
}
public class HashSet<E>
extends AbstractSet<E>
implements Set<E>, Cloneable, java.io.Serializable {
...
}
...等等
我也注意到了:
-
Collection接口,TreeSetLinkedHashSet等属于package java.util; -
Cloneable接口属于package java.lang; -
Serializable属于package java.io;
现在我的问题是,为什么我们要在Serializable(如上所示)之前添加前缀java.io,而不是像在Collection 界面中那样导入import java.io.Serializable;。
【问题讨论】:
标签: java serialization import