@ixtab: Isn't Java one of those languages where the interface (definition) and the implementation can be in two different files (here, only one of the required two).
It has been a long time since I Java'd -
One would probably be called an "abstract class" and the "class implementation".
Hence two similar error messages, depending on which of the two can not be found.
"Hack is just a four letter word." - - With apologies to B. Dylan