内存图:
示例代码:
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~
==================================