X : is an interface
A : concrete class implementing X
B : concrete class extending A
C : concrete class extending A
IF A CLASS IMPLEMENTS A CLASS : it means the implementing class has to implement (i.e. define all methods ) from interface
IF A CLASS EXTENDS A CLASS : it means that all the methods from the parent class is available in child class , unless the child class overrides the methods .
now we conclude , since B,C extend all the methods from A , and A has implemented all the methods from X , thus both B,C have the methods from interface X implemented in A .
but we cant say that B,C implement X because B,C have no constraint to implement all methods from interface , but class A has to implement all the methods
MySpecialHashMap extends HashMapwould you expect that class to be aMap? Of course you would, becauseHashMapis aMap.