Dynamic method lookup
Hi all
Here is my code:
class Superbase{void print(Superbase s){System.out.println("Super");}}
class Baseextends Superbase{void print(Base b){System.out.println("Base");}}
class Derivedextends Base{staticvoid print(Derived d){System.out.println("Derived");}}
class OverloadDemo{
publicstaticvoid main(String[] args){
Superbase a =new Superbase();
Superbase b =new Base();
Derived c =new Derived();
a.print(new Superbase()); b.print(new Base()); c.print(new Derived());
}
}
a,b,c denore objects of Superbase, Base, and Derived classes respectively. According to me it should print "Super Base Derived". But, it's printing "Super Super Base"
can you explain ....why is it so?
Thanks

