空(标识)接口的重要性

标签接口真有那么重要吗?比如说很多初学者认为java.io.Serializable这样的接口,很多时候可用可不用,不用一样能执行对象系列化功能。

标识接口是没有任何方法和属性的接口。标识接口不对实现它的类有任何语义上的要求,它仅仅表明它的类属于一个特定的类型。
标识接口在java语言中有一些很著名的应用,比如java.io.Serializable和java.lang.Cloneable等接口便是标识接口。
标识接口通常使用在工具类中,很少在其他地方使用。 

与其他接口的区别是:这个接口里面什么方法都没有,只是标记而已。例如serilizeabled就是这样一个接口,他只是告诉jvm,继承于这个接口的CLASS需要序列化处理,而我们根本不用实现这个接口的方法。

由此可见,空接口(标签接口)的重要性,在像本例中,给不给自己帖上标签,这是一个性命莜关的问题。其实在OO的世界中,空接口可以算是最高的抽象。

原文地址:https://www.cnblogs.com/duanxz/p/2554301.html