Any Help::
See the code:
public class MyClass{
public static void main(
String argv[]){
MyClass Obj1;
vbClass Obj2;
Obj1=new vbeClass();
Obj2=new vbClass();
//Obj1.abc(); //Commented Line
Obj2.abc();
Obj2=(vbeClass) Obj1;
Obj2.abc();
}
}
class vbClass extends MyClass{
void abc(){System.out.println("vbClass->abc");}
}
class vbeClass extends vbClass{
void abc(){System.out.println("vbeClass->abc");}
}
if you uncomment commented line, it is a compiler error. It means Obj1 don't have abc available.
How following statement is giving output as "vbeClass->abc"?
Obj2=(vbeClass) Obj1;