首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java中的空接口的疑问解决方案

2012-05-04 
java中的空接口的疑问Java如果让某个类的实例具有序列化功能,需要实现Serializable接口,它只是一个标志,没

java中的空接口的疑问
Java如果让某个类的实例具有序列化功能,
需要实现Serializable接口,它只是一个标志,没有任何方法,只有实现这个接口才具有序列化功能。

那么JVM的实现中为什么不让类都有序列化功能呢?而不必继承这个接口?
加一个Seriablizable是不是多此一举了?

====================
搜出一个解释如下,但我还是不理解为什么要加一个空接口..........

可以通过这个标记接口来判断某个类是否可以实现某种功能.
具体判断方法如下
假设类A存在,标志接口Mark
if(Mark.class.isInstance(new A())){....}

[解决办法]

探讨
感谢magicluo这么敬业的做分析,但是我觉得主要用于判断有点牵强,让任何实例序列化不行吗?
我还是疑惑:以序列化接口为例,jdk的设计之初,为什么要这个接口,而不是让每个实例都可以序列化呢?
为什么要用一个接口标志一下?
为什么不用空接口标志一下某个类的实例是否可以用在多线程?用在clone自身?(只是举例,未必恰当)

热点排行