Ist null eine Klasse in Java?

9

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

    
Somerandomeguy 07.04.2010, 06:09
quelle

7 Antworten

29

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.

    
Mike Daniels 07.04.2010, 06:14
quelle
7

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.

    
Vivart 07.04.2010 06:21
quelle
5

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

    
stacker 07.04.2010 06:15
quelle
1

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.

    
Dean Harding 07.04.2010 06:14
quelle
1

Sie können das Null-Objekt nicht in andere primitive Typen umwandeln, die Sie nicht erben. Die oberste Klassenklasse in Java ist Objekt.

    
Shyam 07.04.2010 06:19
quelle
0

Objekt ist die Superklasse aller Klassen und null ist Objektreferenzen

    
sam 07.04.2010 06:19
quelle
0

Schlecht formulierte Frage. Nur die "einfache" Antwort ist richtig als Antwort auf die Frage. Die anderen sind nur verwirrend.

    
EJP 07.04.2010 07:50
quelle

Tags und Links