जवाबों:
यदि आप जानना चाहते हैं कि क्या कोई और Class
विस्तार करता है या नहीं , कक्षा # isAssignableFrom (क्लास) का उपयोग करें । आपके उदाहरण के लिए, यह होगा:
if(B.class.isAssignableFrom(A.class)) { ... }
यदि आप इस बात में रुचि रखते हैं कि कोई उदाहरण किसी विशेष प्रकार का है या नहीं, तो उपयोग करें instanceof
:
A obj = new A();
if(obj instanceof B) { ... }
ध्यान दें कि true
यदि वर्ग / आवृत्ति प्रकार पदानुक्रम का एक सदस्य है और सीधे सुपरक्लास / उपवर्ग रिश्तों के लिए प्रतिबंधात्मक नहीं है, तो ये वापस आ जाएंगे । उदाहरण के लिए:
// 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
यदि आप सीधे सुपरक्लास / उपवर्ग रिश्तों की जांच करना चाहते हैं, तो टिम ने भी जवाब दिया है ।