In Java it is important to understand what the definition of an object is.
An object is a class instance or an array
This definition is slightly different from that of SmallTalk, C++ and a host of other OO languages.
The reason this is significant is that Interfaces in Java are not considered Objects and therefore, we are allowed to implement more than one Interface while only extending only one direct Superclass. Other languages allow for inheritence from more than one superclass (multiple
polymorphism),
in java this can only be achieved by abstract classes using other abstract classes.