Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

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. Java में Cursor क्लास का क्या महत्व है?

    A कर्सर ऑब्जेक्ट . का उपवर्ग है वर्ग और इसे बिंदु या संकेतक . के रूप में परिभाषित किया जा सकता है स्क्रीन पर। एक कर्सर सिस्टम से इनपुट का चयन करने के लिए प्रयोग किया जाता है जिसे उपयोगकर्ता माउस . के साथ संचालित करता है . कर्सर . में उपलब्ध विभिन्न प्रकार के कर्सर वर्ग हैं DEFAULT_CURSOR, CROSSH

  1. Java में LayoutManager और LayoutManager के प्रकार क्या हैं?

    लेआउट प्रबंधक हमें कंटेनर के भीतर घटकों के आकार और स्थिति का निर्धारण करके GUI रूपों में दृश्य घटकों को व्यवस्थित करने के तरीके को नियंत्रित करने में सक्षम बनाते हैं। लेआउट मैनेजर के प्रकार जावा में 6 लेआउट मैनेजर हैं फ्लोलेआउट :यह एक पृष्ठ पर शब्दों की तरह एक कंटेनर में घटकों को व्यवस्थित करता है

  1. जावा में एक्सेप्शन क्लास और एरर क्लास में क्या अंतर हैं?

    अपवाद वर्ग और त्रुटि वर्ग दोनों java.lang.Throwable वर्ग के उपवर्ग हैं, हम रनटाइम पर अपवादों को संभालने में सक्षम हो सकते हैं लेकिन त्रुटियों को हम संभाल नहीं सकते हैं। अपवाद वे ऑब्जेक्ट हैं जो रन टाइम पर होने वाली तार्किक त्रुटियों का प्रतिनिधित्व करते हैं और JVM को अस्पष्टता की स्थिति में प्रवेश