Denken Sie ein bisschen über die Antwort nach.
Wenn Sie eine Klasse definieren,
die nicht ausdrücklich eine andere Klasse erweitert,
dann wird sie automatisch Object erweitern.
Wenn Sie ein Klasse definieren, die eine andere Klasse als Object erweitert,
dann wird diese Klasse (die sie erweitern) entweder eine andere Klasse erweitern oder Object erweitern.
Jetzt muss diese Klasse wiederum eine andere Klasse erweitern
oder Object erweitern.
Es gibt keine Möglichkeit diese Kette zu beenden, außer (letztendlich) durch
die Erweiterung von Object.
Sie könnten schlauerweise versuchen eine Klasse A Klasse B erweitern zu lassen, und Klasse B Klasse A erweitern zu lassen. Aber dies (und andere Loopings) sind nicht erlaubt.
Letztendlich erbt jedes Java Objekt sein objektähnliches Verhalten
von der Klasse Object.
Wenn ein Objekt konstruiert wird,
wird eine Kette von Konstruktoren aufgerufen
beginnend mit dem in Object und endend mit dem der
geforderten Klasse.
Die grundsätzlichen Teile des Objekts werden durch den
Konstruktor in Object zusammengestellt, dann werden die zusätzlichen Teile ,die Kette abwärts, hinzugefügt bis die geforderte Klasse erreicht ist.
Konstruktion beginnt mit dem Konstruktor in Object,
da jeder Konstruktor (außer der Konstruktor von Object)
mit dem Aufruf seines super() Konstruktors beginnt (mit oder ohne Argumente).