Every non-primitive in Java is an Object. So it has to subclass Object somehow, either directly or indirectly.
Are you asking why a class declaration without an "extends" clause defaults to extending Object? What else would you have it default to?
Because that way we can have methods that can operate on any type of object--taking an Object as a parameter, and we can have certain methods--toString, etc.--that we know will always be available on every object.