This exists before the default interface methods. For example, an abstract class can do
@Override abstract public int hashCode();
forced subclasses provide implementations for hashCode , possibly due to additional requirements imposed by the abstract class.
source share