内存图:
示例代码:
package ljy.ploymorphisim;
public class Animal {
void sound(){
System.out.println("i am an animal , i am sounding~");
}
}
package ljy.ploymorphisim;
public class Cat extends Animal {
void sound(){
System.out.println("i am a cat , i am sounding~");
}
}
package ljy.ploymorphisim;
public class Sheep extends Animal {
void sound(){
System.out.println("i am a sheep , i am sounding~");
}
}
package ljy.ploymorphisim;
public class Tiger extends Animal {
void sound(){
System.out.println("i am a tiger , i am sounding~");
}
}
package ljy.ploymorphisim;
public class Tester {
/**
* @param args
*/
public static void main(String[] args) {
Tiger t = new Tiger();
Animal a = t;
t.sound();
a.sound();
System.out.println("================================");
letAnimalSound(new Tiger());
letAnimalSound(new Cat());
letAnimalSound(new Sheep());
}
public static void letAnimalSound(Animal a){
a.sound();
}
}
==================================
Result:
i am a tiger , i am sounding~
i am a tiger , i am sounding~
================================
i am a tiger , i am sounding~
i am a cat , i am sounding~
i am a sheep , i am sounding~
==================================