当我实现一个空白的接口时,我会赢得什么?

时间:2016-02-17 08:53:41

标签: java oop interface

我在Java中有关于“接口”的问题,问题听起来像这样:

在班级中实施空白(空)界面有什么用?

为了更好地理解这个问题,我将给你一个具体的例子:

如果你去看看“ ArrayList ”类的实现,你会发现它实现了两个接口(RandomAccess和Cloneable),它们实际上是完全空的!​​

为什么会这样? 通过为我的班级实现一个完全空白的界面,我能获得什么?

如果您有任何想法,请发表评论。

提前谢谢。

2 个答案:

答案 0 :(得分:7)

这些接口称为标记接口用于标记该类型的类),在运行时它们用于检查类型。

前者

在运行程序时,内部逻辑可能就像

if (yourList instanceof Cloneable) {
        // Hey this object is of type Clonable, please proceed 
    } else {
        // Not that type. Reject
    }

答案 1 :(得分:1)

这些接口仅用于不同的和识别实例,请考虑以下事项:

if (foo is MyInterface1) ...

消耗代码:

{{1}}