为什么要重写接口方法?

Mph*_*uli 0 java overriding interface java-8

当扩展抽象类时,我理解为什么你必须重写一些方法。但当涉及到接口时,我不明白为什么必须这样做。如果一个接口的所有方法都必须实现,那么重写它们有什么用呢?

我正在谈论@Override注释。

Mur*_*nik 6

使用@Override完全是可选的。你不必使用它。如果这样做,那么@Override在实现接口时使用它与在扩展抽象类时使用它或多或少具有相同的推理。简而言之,它可以防止愚蠢的错误 - 如果更改了接口,它会迫使您相应地更改您的类,而不是仅仅添加您突然需要实现的“新”方法。