P
parkarumesh
I have below example. It compiles fine but gives classcast exception at
run
time. Just curious why Java prohibit down casting.
public class C {
public static void main (String a[]){
B b = (B) new A();
}
}
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");
}
}
/*
also in a class hierarchy which is larger object, the base class or the
derived class? If it is base class, Why?
*/
run
time. Just curious why Java prohibit down casting.
public class C {
public static void main (String a[]){
B b = (B) new A();
}
}
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");
}
}
/*
also in a class hierarchy which is larger object, the base class or the
derived class? If it is base class, Why?
*/