Java - Wie kann ich überprüfen, ob eine Klasse von einer Klasse oder Schnittstelle vererbt wird?

9

Ich muss überprüfen:

%Vor%

Wie kann ich das tun?

Und ist das möglich ohne c.newInstance() ?

Der Titel war beim ersten Mal falsch. Jetzt ist es richtig.     
Bitterblue 25.04.2013, 08:50
quelle

6 Antworten

20

Verwenden Sie isAssignableFrom

%Vor%
  

Bestimmt, ob die Klasse oder Schnittstelle von diesem Klassenobjekt repräsentiert wird   ist entweder das gleiche wie oder ist eine Superklasse oder Superschnittstelle von der   Klasse oder Schnittstelle, die durch den angegebenen Class-Parameter repräsentiert wird. Es   gibt true zurück, wenn dem so ist; Andernfalls wird false zurückgegeben. Wenn dieses Klassenobjekt   stellt einen primitiven Typ dar, gibt diese Methode true zurück, wenn der Wert angegeben wurde   Klassenparameter ist genau dieses Klassenobjekt; Sonst kehrt es zurück   falsch.

Quelle

    
Kevin Bowersox 25.04.2013, 08:53
quelle
3

Es gibt eine Methode namens Class # isInterface () in Klasse

%Vor%     
PermGenError 25.04.2013 08:52
quelle
2

Probieren Sie es aus

%Vor%     
user2256686 25.04.2013 08:54
quelle
1

Wie wäre es mit

?

public boolean isInterface();

Laut Dokumentation:

  

Bestimmt, ob das angegebene Klassenobjekt einen Schnittstellentyp darstellt.   Kehrt zurück:           true, wenn dieses Objekt eine Schnittstelle darstellt; sonst falsch.

    
Apurv 25.04.2013 08:52
quelle
1
%Vor%

isInterface

%Vor%

Bestimmt, ob das angegebene Klassenobjekt einen Schnittstellentyp darstellt. Kehrt zurück: true, wenn dieses Objekt eine Schnittstelle darstellt; sonst falsch. sAssignableFrom

%Vor%

Bestimmt, ob die Klasse oder Schnittstelle, die von diesem Klassenobjekt repräsentiert wird, dieselbe oder eine Superklasse oder Superschnittstelle der Klasse oder Schnittstelle ist, die durch den angegebenen Klassenparameter repräsentiert wird. Es gibt wahr zurück, wenn dies der Fall ist. Andernfalls wird false zurückgegeben. Wenn dieses Klassenobjekt einen primitiven Typ darstellt, gibt diese Methode true zurück, wenn der angegebene Klassenparameter genau dieses Klassenobjekt ist. Andernfalls wird false zurückgegeben.

Diese Methode testet insbesondere, ob der durch den angegebenen Klassenparameter dargestellte Typ durch eine Identitätskonvertierung oder eine erweiterte Referenzkonvertierung in den von diesem Klassenobjekt dargestellten Typ konvertiert werden kann.  Einzelheiten finden Sie unter Die Java-Sprachspezifikation, Abschnitte 5.1.1 und 5.1.4.

Parameter: cls - das zu überprüfende Klassenobjekt Kehrt zurück: der boolesche Wert, der angibt, ob Objekte des Typs cls Objekten dieser Klasse zugeordnet werden können Wirft: NullPointerException - wenn der angegebene Class-Parameter null ist. Schon seit: JDK1.1

    
saeed 25.04.2013 08:54
quelle
0

hast du es mit

probiert? %Vor%

aus docs

  

Bestimmt, ob das angegebene Klassenobjekt einen Schnittstellentyp darstellt.

    
quelle

Tags und Links