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