java.lang.ClassCastException আনচেক করা গুলির মধ্যে একটি৷ ব্যতিক্রম জাভাতে। এটি আমাদের প্রোগ্রামে ঘটতে পারে যখন আমরা এক শ্রেণির ধরন এর একটি বস্তুকে রূপান্তর করার চেষ্টা করি অন্য ক্লাস টাইপের একটি বস্তুর মধ্যে .
কবে হবে ClassCastException নিক্ষেপ করা হয়
- যখন আমরা অভিভাবক শ্রেণীর একটি বস্তু কাস্ট করার চেষ্টা করি কে তার শিশু শ্রেণীর ধরন, এই ব্যতিক্রমটি নিক্ষেপ করা হবে।
- যখন আমরা এক শ্রেণীর বস্তুকে অন্য শ্রেণীতে নিক্ষেপ করার চেষ্টা করি টাইপ যা অন্য শ্রেণীকে প্রসারিত করেনি বা তাদের মধ্যে কোনো সম্পর্ক নেই।
উদাহরণ
class ParentTest { String parentName; ParentTest(String n1){ parentName = n1; } public void display() { System.out.println(parentName); } } class ChildTest extends ParentTest { String childName; ChildTest(String n2) { super(n2); childName = n2; } public void display() { System.out.println(childName); } } public class Test { public static void main(String args[]) { ChildTest ct1 = new ChildTest("Jai"); ParentTest pt1 = new ParentTest("Adithya"); pt1 = ct1; pt1.display(); ParentTest pt2 = new ParentTest("Sai"); ChildTest ct2 = (ChildTest)pt2; } }
আউটপুট
Jai Exception in thread "main" java.lang.ClassCastException: ParentTest cannot be cast to ChildTest at Test.main(Test.java:30)