Jawaban:
Jika Anda ingin tahu apakah Classmemanjang atau tidak , gunakan Kelas # isAssignableFrom (Kelas) . Sebagai contoh Anda, itu akan menjadi:
if(B.class.isAssignableFrom(A.class)) { ... }
Jika Anda tertarik pada apakah sebuah instance memiliki tipe tertentu atau tidak, gunakan instanceof:
A obj = new A();
if(obj instanceof B) { ... }
Perhatikan bahwa ini akan kembali truejika kelas / instance adalah anggota dari hirarki tipe dan tidak membatasi untuk mengarahkan hubungan superclass / subclass. Sebagai contoh:
// if A.class extends B.class, and B.class extends C.class
C.class.isAssignableFrom(A.class); // evaluates to true
// ...and...
new A() instanceof C; // evaluates to true
Jika Anda ingin memeriksa hubungan superclass / subclass langsung, Tim juga telah memberikan jawaban .
Anda ingin tahu apakah b dapat ditugaskan dari a :
b.isAssignableFrom(a);
Selain itu, jika Anda ingin tahu itu aadalah subkelas langsung dari b:
a.getSuperclass().equals(b);
adan bdari pertanyaan