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)