1.多态:是同一个行为具有多个不同表现形式或形态的能力。

多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:

多态性是对象多种表现形式的体现。

2.多态作用:

1. 消除类型之间的耦合关系

2. 可替换性

3. 可扩充性

4. 接口性

5. 灵活性

6. 简化性

3.多态的三个必要条件:

继承

重写

父类引用指向子类对象

4.多态处理属性

父类有,子类也有,获取的是父类的属性

父类有,子类没有,获取的是父类的属性

父类没有,子类有,获取不到

父类没有,子类没有,获取不到

注意:编译看左边,运行看左边

编译器编译完成之后,类型确定,但是对象无法确定,只有在运行的时候,new什么对象,就是什么对象

5.多态处理方法

父类有,子类也有,获取的是子类的方法 (方法重写)

父类有,子类没有,获取的是父类的方法

父类没有,子类有,获取不到

父类没有,子类没有,获取不到

注意:编译看左边,运行看右边  (方法重写)

6.多态的体现形式:

向上转型:父类的引用指向子类的对象

父 f = new 子();

向下转型:把父类引用执行的子类对象强制转为子类类型

子 z = (子)f;

注意:无论是基本类型还是引用类型,小转大都是自动的,大转小都是强制的,

注意:类型越抽象,功能越少,类型越具体,功能越强大

注意:引用类型之间做转换,必须要有继承关系

7.类型转换

(1):自动转换   向上转型

子类对象转为父类类型

语法: 父类 父类对象 = 子类实例,

(2):强制转换   向下转型

把父类引用子类的对象转为子类本身(父类对象变为子类对象,)

语法: 子类 子类对象 = (子类)父类实例,强制

实际开发中,多态很常用,创建子类对象,尽量使用多态来创建,可以提高代码的灵活性和扩展性

说明:利用封装,继承,多态的知识写一个Java程序

题目要求:

编写程序实现比萨制作。需求说明编写程序,接收用户输入的信息,选择需要制作的比萨。可供选择的比萨有:培根比萨和海鲜比萨。

实现思路及关键代码

(1)分析培根比萨和海鲜比萨

(2)定义比萨类

(3)属性:名称、价格、大小

(4)方法:展示

(5)定义培根比萨和海鲜比萨继承自比萨类

(6)定义比萨工厂类,根据输入信息产生具体的比萨对象

内容来源于网络如有侵权请私信删除

java 对象的态_Java面向对象-------多态总结相关推荐

  1. java对象描述开车_java面向对象

    学java核心的一个部分就是面向对象,那么什么是面向对象呢? 说到面向对象不得不说的就是面向过程,面向过程就是一步一步的去完成某一件事情,就拿开车这样的一件事来说. 人开车,首先就要把车门打开上车 其 ...

  2. java对象地址连续_Java面向对象中地址的理解(长期修改)

    写在前面:如果变量是基本数据类型,此时赋值的是变量所保存的数据值 如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值 Java中,引用数据类型定义的变量含有的值,不是null就是地址值(不包 ...

  3. java 对象访问权限_Java面向对象--访问权限

    访问权限 1. public 公共的 2. private 私有的 3. default 包内的 package com.kjy.entity; public class Person { publi ...

  4. java 获取内存地址_Java 的多态在 JVM 里原来是这样的

    多态 面向对象的编程语言里,「多态」是一个至关重要的概念.我们常说,面向对象的本质,是方法与数据的绑定.那对于一个拥有继承关系的类之间,方法的绑定,是终是子类「重写」父类的方法,通过父类的引用指向子类 ...

  5. java类的心得_java面向对象学习心得3篇

    日记网 >> 专题 java面向对象学习心得3篇 更新时间:2018/6/15 8:27:00  点击率:937  手机版 java面向对象学习心得3篇来自简单日记网精选推荐.在面向对象的 ...

  6. java 动态称重_Java面向对象 --2

    22.面向对象特征之二: 继  承     2020-04-29  21:39:33 01.多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么子类无需再定义这些属性和行为,只要继承父类即 ...

  7. java对象持久化技术_Java对象持久化技术Hibernate 一

    Hibernate是Java应用和关系数据库之间的桥梁,它负责Java对象和关系数据之间的映射.Hibernate内部封装了通过JDBC访问数据库的操作,向上层应用提供了面向对象的数据访问API.在J ...

  8. java 对象的交互_Java中什么是对象的交互?解释一下交互怎么操作?

    其实并没有那个复杂.java中对象是什么,你要明白一点就是: 在java中万物皆对象 比如,实体类之间的互相调用,不想访问以及访问其他属性及其方法等. 不论你是线程,还是异步任务,还是...都可以用以 ...

  9. java对象序列化克隆_JAVA 对象克隆和序列化

    先用一个例子来说明假克隆吧,也就是用"="之后的效果.. [运行结果]: [运行结果] 姓名:rollen年龄:20 姓名:hello world年龄:100 姓名:hello w ...

最新文章

  1. 七牛云内容审核服务被选为「上海首批人工智能创新产品」
  2. 曝光原理_PS教程:双重曝光的原理及制作过程,魔术棒及调整边缘的简易抠图...
  3. 找对业务G点, 体验酸爽 - PostgreSQL内核扩展指南
  4. U盘安装CentOS 7
  5. Qt中多线程与界面组件的通信
  6. Java SE 桌面可访问性
  7. javascript专题:如何构建自己的js库
  8. python中pip不是内部或外部命令_‘pip’不被识别为内部或外部命令。
  9. sas 服务器版安装文件,SAS软件各个版本,包括服务器版本的切磋了解
  10. 关于CSDN登录没有微信二维码的问题
  11. 《游戏学习》java实现连珠五子棋完整代码
  12. xu2w显示屏软件下载_LED显示屏控制软件(LED BEST)
  13. java 通过 ip地址 找到 打印机_有没有办法使用java套接字程序找到打印机状态?...
  14. 关乎Java多线程+Runnable和Thread…
  15. 2017中国云计算技术大会将于5月18-19日在京召开
  16. 大功率双伺服电机驱动板,包含原理图,PCB和原代码,基于STM32F4方案,支持霍尔,编码器,无感
  17. 卖服务器销售打广告语句子,卖灯销售广告语
  18. mysql主从复制延迟解决
  19. 计算机基础之终端(DOS)的正确认识和重要性——Windows系统cmd与环境变量(java环境配置)
  20. 女程序员在IT界的发展方向是什么?

热门文章

  1. spring预加载与懒加载_通过Spring将继承树加载到List中
  2. coherence安装_Oracle Coherence:分布式数据管理
  3. 带有Netflix Ribbon的Spring Cloud Rest Client-基础知识
  4. manifest.mf._MANIFEST.MF和feature.xml版本控制规则
  5. 使用入站适配器公开HTTP Restful API。 第1部分(XML)
  6. 如何使用布隆过滤器在Java中建立大容量的内存缓存
  7. Neo4j Backup:在Mark Needham上存储副本和一致性检查
  8. Java 8:对集合中的值进行排序
  9. 设置MongoDB副本集分为4个步骤
  10. Couchbase 101:从Java应用程序创建视图(MapReduce)