Nach, Ссылка
Unter
Welche Klasse ist die Oberklasse von jedem? Klasse?
null scheint die Antwort zu sein.
Ich habe das gefunden
%Vor%überprüft die Antwort als richtig. Aber kann null als Klasse betrachtet werden? Ich sehe, dass alle primitiven Datentypen als Klassenobjekte von dargestellt werden Java [Punkt] sun.com/j2se/1.4.2/docs/api/java/lang/Class.html
Das ist eine knifflige Interviewfrage. Ich bin mir ziemlich sicher, dass die Antwort, die sie suchen, Object
, nicht null
ist. null
ist keine Klasse. Was es bedeutet, wenn getSuperClass
null
zurückgibt, ist "es gibt keine Oberklasse". null
ist lediglich ein spezieller Wert, den eine Referenz haben kann. Wenn null
eine Klasse wäre, könnten Sie Objekte vom Typ null
instanziieren. Es wäre auch nicht sinnvoll, null
einer Referenz eines anderen Typs zuzuweisen.
Ich denke, Objektklasse ist die Antwort.
von Javadoc.
%Vor%Wenn diese Klasse entweder die Object-Klasse, eine Schnittstelle, einen primitiven Typ oder void darstellt, wird null zurückgegeben. es bedeutet nicht, dass null superclass ist.
Wenn null eine Klasse ist, denke ich, dass es Null sein muss. null ist keine Klasse.
In Java ist java.lang.Object das übergeordnete Objekt (root) aller anderen Objekte und hat keinen Vorgänger.
Null ist überhaupt kein Objekt und zeigt an, dass kein Objekt verfügbar ist (Nullreferenz).
Siehe auch JLS Kapitel 4
Denken Sie daran, dass die Klasse Class
selbst eine Klasse ist. Wenn Sie also c.getClass()
aufrufen, erhalten Sie eine -Instanz der Klasse Class
zurück. Da also keine Superklasse von Object
ist, kann die getSuperClass()
-Methode nichts zurückgeben und gibt daher null
zurück.