a
সাবক্লাস হলে আমি কীভাবে পরীক্ষা করব b
?
Class<?> a = A.class;
Class<?> b = B.class;
a
সাবক্লাস হলে আমি কীভাবে পরীক্ষা করব b
?
Class<?> a = A.class;
Class<?> b = B.class;
উত্তর:
যদি আপনি জানতে চান যে কোনওটি বাড়িয়ে দেয় কি না Class
, ক্লাস # isAignignableFrom (Class) ব্যবহার করুন । আপনার উদাহরণের জন্য, এটি হবে:
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
আপনি যদি সরাসরি সুপারক্লাস / সাবক্লাস সম্পর্কগুলি পরীক্ষা করতে চান তবে টিম একটি উত্তরও সরবরাহ করেছে ।
আপনি জানতে চান যে b
এগুলি থেকে যোগ্য নিয়োগযোগ্য কিনা a
:
b.isAssignableFrom(a);
অতিরিক্ত হিসাবে, আপনি যদি এটি জানতে চান যে a
এটির সরাসরি উপক্লাস b
:
a.getSuperclass().equals(b);
a
এবং ব্যবহারের জন্য ধন্যবাদb