Case 6 For Overloading - rahul00773/JavaConcepts GitHub Wiki
class Animal{
}
class Monkey extends Animal{
}
class Test{
public void m1(Animal a){
System.out.println(“animal version”);
}
public void m1(Monkey m){
System.out.println(“Monkey version”);
}
}
class T{ public static void main(String[] args){
Test t = new Test();
Animal a1 = new Animal();
t.m1(a);/// animal version
Monkey m = new Monkey();
t.m1(m);// monkey version
Animal a2 = new Monkey();
T.m1(a2);// animal version
} }
Note: In overloading method resolution always takes care by the compiler based on the reference type. In overloading run, time object won’t play any role