ConcreteClassMustOverride
DRAFT
Observed

ConcreteClassMustOverride
Incorrect

A concrete class needs to implement all abstract methods and override all concrete methods declared in its abstract superclasses

Correct

A concrete class does not necessarily need to override concrete methods declared in its abstract superclasses

Correction
Here is what's right.

The concrete class only needs to implement the abstract methods it inherits from its superclasses. If a method is already implemented in its superclasses, the concrete class does not need to implement it again. It simply inherits the implementation from the superclass (even if that superclass is abstract).

Note that abstract classes can have concrete methods.