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)