La mise à jour est autorisée en Java, mais la mise à jour entraîne une erreur de compilation.
L'erreur de compilation peut être supprimée en ajoutant une distribution mais de toute façon, elle se briserait à l'exécution.
Dans ce cas, pourquoi Java autorise-t-il le downcasting s'il ne peut pas être exécuté à l'exécution?
Y a-t-il une utilisation pratique pour ce concept?
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");
}
}