为什么List,set,map 不继承Serializable接口?
猜测:应该是默认不继承,但实际上可以继承
只要是object都可以实现这个接口
只是默认不这样干,有三个可能:
一、是不知道怎么实现默认接口,
二、不允许实现默认接口,
三、暂时没有实现方案。
解释:
假如是情况一,不知道怎么实现,可以理解为对集合的元素类型有依赖,这种单向依赖导致在不明确元素类型的情况下无法实现默认Serializable接口
情况二,不允许实现默认接口,这种大多由Serializable接口规定,但是Serializable接口并没有声明哪些类不允许实现这个接口,集合类也没有明确说不允许implement这个接口。所以这个情况也不存在
情况三,讨论这个没有意义。
结论,对集合的元素类型有依赖,这种单向依赖导致在不明确元素类型的情况下无法实现默认Serializable接口