黑马程序员-面向对象-08天-2 (多态)
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)
------ Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 三.黑马程序员-面向对象(1) 面向对象(Object-Oriented,简称OO)就是一种常 ...
- 黑马程序员 面向对象总结1
--------android培训.java培训.期待与您交流! ---------- 面向对象总结1 一:类,对象,属性,方法,构造器的概念: 类:用于描述客观世界里某一类对象的共同特征. 对象:可 ...
- 黑马程序员 面向对象总结2
--------android培训.java培训.期待与您交流! ---------- 面向对象总结2 一:引用变量的强制类型转换 在Java中,人们常常提到引用类型的变量,其实质引用变量只能调用它在 ...
- 黑马程序员_Java基础[16]_多态1
---------- android培训 . java培训 .期待与您交流! ---------- [[多态]] instanceof 定义:某一种事物的多种存在形态 [[instanceof 关 ...
- 黑马程序员---面向对象上(封装,继承,多态)
------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS ...
- 黑马程序员—面向对象(1)
------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS ...
- 黑马程序员 面向对象
--------------android培训.Java培训.学习型技术博客.期待与您交流! -------------- 特点:1:将复杂的事情简单化. 2:面向对象将以前的过程中的执行者,变成了指 ...
- 黑马程序员---面向对象笔记总结
------- android培训.java培训.期待与您交流! ---------- 封装 匿名函数 2--匿名对象使用方式一,当对象的方法只调用一次时,可以用匿名对象完成,这样写比较简单,如果对一 ...
- 黑马程序员-面向对象-06天-5(单例设计模式)
package java06;/** 设计模式:解决某一类问题最行之有效的方法.* java中23种设计模式:* 单例设计模式:解决一个类在内存只存在一个对象.* 想要保证对象唯一.* 1,为了避免其 ...
最新文章
- 苹果8怎么投屏到电视_苹果电脑电视不在一个房间可以投屏
- 普通程序员如何逆袭,达到财富自由?
- Centos7 网络yum
- joomla 标准激活的php mail 功能,php 通过joomla jmail 类使用 gmail smtp 账号发送邮件的简单示例...
- [Ubuntu] 添加/删除 ppa 仓库
- 大数据分析平台的作用有什么
- 九度OJ 1112:拦截导弹 (DP、最长下降子序列)
- spark、hive、impala、hbase、gbase在结构化数据方面查询原理对比(含parquet/orc)
- 顺序栈实现迷宫求解问题v0.1
- bmp格式如何转换成jpg?
- Java面向对象练习题之计算圆的面积和周长
- 共模干扰和差模干扰的处理方式
- 三星android5 root包,三星N9200刷国行系统(含五件套root权限recovery SuperSU)
- ZHW_AI发布CSDN的模板和要求
- 简单实现微信小程序音乐音频播放的功能
- (随笔备忘)装系统—— centos7下制作U盘启动盘还是失败待试,换大白菜
- Qt中的C++技术 张波
- arm搭建云手机教程_全球首个ARM云手机解决方案 基于ARM架构华为云云手机开启公测...
- LT8522EX 是 Lontium 的矩阵开关芯片基于两路输入,输出 (VGA 和 HDMI)
- 在router中使用pinia报错解决
热门文章
- 2017/12/29
- 记录:成功配置 centos + nginx + .net core 2.0
- 我和EDAS这两年——阿里巴巴入职两年的小结
- mysql主从复制延迟问题的相关知识与解决方案
- NOIP2012pj文化之旅[floyd]
- Loadrunner脚本编程(3)- 检查点,关联等函数
- OSPF 传播默认路由
- 问题二十五:为什么有时候XnView无法显示PPM图片?
- 制造业如何应用大数据
- android左右滑动fragment,Android基于ViewPager+Fragment实现左右滑屏效果的方法