A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© linder_qzy 中级黑马   /  2015-3-9 16:30  /  915 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多态是什么
事物存在的多种体现形态
多态的表现形式
父类的引用指向了自己子类的对象;父类的引用也可以接收自己的子类对象
多态的好处
大大提高了代码的扩展性。
多态的前提
类与类之间必须有关系,要那么继承,要么实现;方法需要完全覆盖。
多态的弊端
提高了扩展性,但是只能用父类的引用去访问父类的成员
  1. abstract class Animal  
  2. {  
  3.     public abstract void eat();  
  4. }  
  5. class Cat extends Animal  
  6. {  
  7.     public void eat(){  
  8.         System.out.println("吃鱼");  
  9.     }  
  10.     public void catchMouse(){  
  11.         System.out.println("抓老鼠");  
  12.     }  
  13. }  
  14. class Dog extends Animal  
  15. {  
  16.     public void eat(){  
  17.         System.out.println("吃骨头");  
  18.     }  
  19.     public void catchHome(){  
  20.         System.out.println("看家");  
  21.     }  
  22. }  
  23. class Pig extends Animal  
  24. {  
  25.     public void eat(){  
  26.         System.out.println("吃饲料");  
  27.     }  
  28.     public void gongDi(){  
  29.         System.out.println("拱地");  
  30.     }  
  31. }  
  32. class Demo01_DuoTai  
  33. {  
  34.     public static void main(String[] args)   
  35.     {  
  36.         //多态的表现形式:父类的引用指向了自己子类的对象;父类的引用也可以接收自己的子类对象  
  37.         function(new Cat());  
  38.         function(new Dog());  
  39.         function(new Pig());  
  40.         /*
  41.         输出结果
  42.         吃鱼
  43.         吃骨头
  44.         吃饲料
  45.         */  
  46.     }  
  47.     public static void function(Animal a){  
  48.         a.eat();  
  49.     }  
  50. }  
复制代码

2 个回复

倒序浏览
学习了:P
回复 使用道具 举报
谢谢楼主分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马