जावा में अपकास्टिंग की अनुमति है, हालांकि डाउनकास्टिंग एक संकलित त्रुटि देता है।
संकलित त्रुटि को एक कास्ट जोड़कर हटाया जा सकता है, लेकिन वैसे भी रनटाइम पर टूट जाएगा।
इस स्थिति में, जावा डाउनकास्टिंग की अनुमति देता है यदि इसे रनटाइम पर निष्पादित नहीं किया जा सकता है?
क्या इस अवधारणा का कोई व्यावहारिक उपयोग है?
public class demo {
public static void main(String a[]) {
B b = (B) new A(); // compiles with the cast,
// but runtime exception - java.lang.ClassCastException
}
}
class A {
public void draw() {
System.out.println("1");
}
public void draw1() {
System.out.println("2");
}
}
class B extends A {
public void draw() {
System.out.println("3");
}
public void draw2() {
System.out.println("4");
}
}