package java08;/** 多态:可以理解为事物存在的多种体现形态。*人:男人,女人*动物:猫,狗。*猫 x = new 猫();*动物 x = new 猫();*1,多态的体现*    父类的引用指向了自己的子类对象。*    父类的引用也可以接收自己的子类对象。*2,多态的前提*    必须是类与类之间有关系。要么继承,要么实现。*    通常还有一个前提:存在覆盖。*3,多态的好处*    多态的出现大大的提高程序的扩展性。*4,多态的弊端:*    提高了扩展性,但是只能使用父类的引用访问父类中的成员。*5,多态的应用   在多态中成员函数的特点:   在编译时期:参阅引用型变量所属的类中是否有调用的方法。如果有,编译通过,如果没有编译失败。   在运行时期:参阅对象所属的类中是否有调用的方法。   简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。

   在多态中,成员变量的特点:   无论编译和运行,都参考左边(引用型变量所属的类)。

   在多态中,静态成员函数的特点:   无论编译和运行,都参考做左边。*/
abstract class Animal {abstract void eat();}class Cat extends Animal {public void eat() {System.out.println("吃鱼");}public void catchMouse() {System.out.println("抓老鼠");}
}class Dog extends Animal {public void eat() {System.out.println("吃骨头");}public void kanJia() {System.out.println("看家");}
}class Pig extends Animal {public void eat() {System.out.println("饲料");}public void gongDi() {System.out.println("拱地");}
}public class DuoTaiDemo {public static void main(String[] args) {function(new Cat());function(new Dog());function(new Pig());}public static void function(Animal a) {a.eat();}}

转载于:https://www.cnblogs.com/guwenren/archive/2013/03/28/2986506.html

黑马程序员-面向对象-08天-2 (多态)相关推荐

  1. 黑马程序员——面向对象(1)

    ------ Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 三.黑马程序员-面向对象(1) 面向对象(Object-Oriented,简称OO)就是一种常 ...

  2. 黑马程序员 面向对象总结1

    --------android培训.java培训.期待与您交流! ---------- 面向对象总结1 一:类,对象,属性,方法,构造器的概念: 类:用于描述客观世界里某一类对象的共同特征. 对象:可 ...

  3. 黑马程序员 面向对象总结2

    --------android培训.java培训.期待与您交流! ---------- 面向对象总结2 一:引用变量的强制类型转换 在Java中,人们常常提到引用类型的变量,其实质引用变量只能调用它在 ...

  4. 黑马程序员_Java基础[16]_多态1

    ---------- android培训 . java培训 .期待与您交流! ---------- [[多态]] instanceof  定义:某一种事物的多种存在形态 [[instanceof  关 ...

  5. 黑马程序员---面向对象上(封装,继承,多态)

    ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS ...

  6. 黑马程序员—面向对象(1)

    ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS ...

  7. 黑马程序员 面向对象

    --------------android培训.Java培训.学习型技术博客.期待与您交流! -------------- 特点:1:将复杂的事情简单化. 2:面向对象将以前的过程中的执行者,变成了指 ...

  8. 黑马程序员---面向对象笔记总结

    ------- android培训.java培训.期待与您交流! ---------- 封装 匿名函数 2--匿名对象使用方式一,当对象的方法只调用一次时,可以用匿名对象完成,这样写比较简单,如果对一 ...

  9. 黑马程序员-面向对象-06天-5(单例设计模式)

    package java06;/** 设计模式:解决某一类问题最行之有效的方法.* java中23种设计模式:* 单例设计模式:解决一个类在内存只存在一个对象.* 想要保证对象唯一.* 1,为了避免其 ...

最新文章

  1. 苹果8怎么投屏到电视_苹果电脑电视不在一个房间可以投屏
  2. 普通程序员如何逆袭,达到财富自由?
  3. Centos7 网络yum
  4. joomla 标准激活的php mail 功能,php 通过joomla jmail 类使用 gmail smtp 账号发送邮件的简单示例...
  5. [Ubuntu] 添加/删除 ppa 仓库
  6. 大数据分析平台的作用有什么
  7. 九度OJ 1112:拦截导弹 (DP、最长下降子序列)
  8. spark、hive、impala、hbase、gbase在结构化数据方面查询原理对比(含parquet/orc)
  9. 顺序栈实现迷宫求解问题v0.1
  10. bmp格式如何转换成jpg?
  11. Java面向对象练习题之计算圆的面积和周长
  12. 共模干扰和差模干扰的处理方式
  13. 三星android5 root包,三星N9200刷国行系统(含五件套root权限recovery SuperSU)
  14. ZHW_AI发布CSDN的模板和要求
  15. 简单实现微信小程序音乐音频播放的功能
  16. (随笔备忘)装系统—— centos7下制作U盘启动盘还是失败待试,换大白菜
  17. Qt中的C++技术 张波
  18. arm搭建云手机教程_全球首个ARM云手机解决方案 基于ARM架构华为云云手机开启公测...
  19. LT8522EX 是 Lontium 的矩阵开关芯片基于两路输入,输出 (VGA 和 HDMI)
  20. 在router中使用pinia报错解决

热门文章

  1. 2017/12/29
  2. 记录:成功配置 centos + nginx + .net core 2.0
  3. 我和EDAS这两年——阿里巴巴入职两年的小结
  4. mysql主从复制延迟问题的相关知识与解决方案
  5. NOIP2012pj文化之旅[floyd]
  6. Loadrunner脚本编程(3)- 检查点,关联等函数
  7. OSPF 传播默认路由
  8. 问题二十五:为什么有时候XnView无法显示PPM图片?
  9. 制造业如何应用大数据
  10. android左右滑动fragment,Android基于ViewPager+Fragment实现左右滑屏效果的方法