কম্পিউটার টিউটোরিয়াল

ClassCastException কী এবং জাভাতে এটি কখন থ্রো হবে?


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)
  1. জাভাতে Cursor ক্লাসের গুরুত্ব

  2. জাভাতে LayoutManager কী এবং LayoutManager-এর প্রকারগুলো কী?

  3. জাভাতে অ্যাক্সেস মডিফায়ার এবং নন-অ্যাক্সেস মডিফায়ারের পার্থক্য কী?

  4. জাভাতে Exception ক্লাস এবং Error ক্লাসের পার্থক্য