java 对象的态_Java面向对象-------多态总结

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

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

7bc7f8ac844f7e559fe74dbdfb9c5ab4.png

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

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)定义比萨工厂类,根据输入信息产生具体的比萨对象

5e2ba442a0885b3cec66b986092f9d39.png

9f6fedc5b75e98ddb97773105de73577.png

8ffab45b521728f9bc35fd84bf39b2d6.png

584cc1d8c7613a6317fb78d1fb40d219.png

ab2e4765d325559c33fafcf54d902abf.png

9c47158bba00a600a1342a07db5ef25c.png

0da6e47e74b8e0b31a7cd1b78505f644.png

b3b28e5998a97b2838370504a3a07904.png

94a9528c228bcd58b2f91bd916e9dcdc.png

3297a21cec16edb3eb7d6e6526f30354.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/336514.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

netbeans连接数据库_NetBeans Java EE技巧#1 –数据库中的实体类

netbeans连接数据库NetBeans IDE是开发各种应用程序的绝佳选择。 具体来说,我每天都使用它来开发和维护Java EE应用程序。 在过去的几个发行版中,不仅Java EE的生产力提高了,而且NetBeans IDE还减少了开发应用程序的时间……使Java EE和NetBe…

jboss fuse 教程_使用JBoss Fuse和OpenShift进行Cloud Native Camel骑行

jboss fuse 教程红帽公司最近发布了一个微服务集成工具包,用于在OpenShift v3的Docker和Kubernetes环境中运行我们的微服务。 为了帮助人们更好地理解这一点,我将Rider Auto应用程序迁移到一组微服务中,该应用程序已经存在了一段时间&#xf…

javaone_JavaOne 2015 –又一年,又向前迈进了一步

javaoneJavaOne 2015 San Francisco于10月25日至29日举行。 我很自豪地说这是我第九个人参加JavaOne,第七个人是演讲者,第四个人是Oracle员工,第三个人是内容委员会成员,第二个人是项目负责人。 我认为对于JavaOne来说&#xff0c…

lnp和mysql分开安装_毕业设计之LNP+DISCUZ +分离的数据库操作

环境介绍:CentOS6.9最小化安装https://nginx.org/download/nginx-1.16.1.tar.gzhttps://www.php.net/distributions/php-7.3.14.tar.gzhttps://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.29.tar.gznginxphp主机:192.168.111.141mysql主机&…

java中hotspot_Java 8中HotSpot选项的改进文档

java中hotspotOracle的HotSpot Java 8实现中引入的一些小但受欢迎的功能之一是在启动器的文档中添加了许多常见的HotSpot Java启动器 ( java )选项/标志。 过去,甚至对某些相当常见的HotSpot JVM选项都感兴趣的开发人员不得不潜在地寻找多个不…

qchart折现图_Qt开发技术:QCharts(二)QCharts折线图介绍、Demo以及代码详解

若该文为原创文章,未经允许不得转载各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究敬请期待…红胖子,来也!介绍了整体框架,开始动手码代码,按照顺…

各类算法思想

暴力枚举法 使用场景注意事项 1.建立一个简洁的搜索模型,变量尽可能少 2.尽可能减少搜索空间 递归与分治法 分治使用最广泛一类算法。采用递归的思想将较大规模的问题分成小问题来求。如果原问题可以分割成k个子问题,并且这些子问题可以重复利用&am…

eclipse neon_在自定义Java 9映像上运行Eclipse Neon

eclipse neon我已经开始修改自定义Java二进制运行时映像文件。 映像文件是打包为运行时平台的模块的配置。 基本上,默认映像包含组成Java运行时的所有内容。 自定义图像可以包含该图像的一些子集。 例如,我创建了一个仅包含“ compact 3”概要文件的映像…

java json注解_返回json用什么注解

返回json用“ResponseBody”注解,“ResponseBody”是作用在方法上的,“ResponseBody”表示该方法的返回结果直接写入“HTTP response body”中。本篇文章将介绍两种示例进行JSON返回注解方式演示。示例1ResponseBody是作用在方法上的,Respons…

java数据结构博客园_常见数据结构的Java实现

单链表的Java实现首先参考wiki上的单链表说明,单链表每个节点包含数据和指向链表中下一个节点的指针或引用。然后看代码import java.lang.*;public class SinglyLinkeList{Node start;public SinnglyLinkedList(){this.startnull;}public void addFront(Object newD…

jboss4 java_带有JBoss工具的OpenShift 3上的Java EE 7应用程序

jboss4 java您可以使用最新版本的JBoss Tools OpenShift插件在Eclipse中创建和管理OpenShift应用程序。 他们要么预先捆绑了最新的 JBoss Developer Studio(9.0.0.GA) ,也可以将它们安装到现有的Eclipse Mars中。 这篇文章将引导您通过JBoss…

javaslang_使用Javaslang的Java 8中的功能数据结构

javaslangJava 8的lambda(λ)使我们能够创建出色的API。 它们极大地提高了语言的表达能力。 Javaslang利用lambda来基于功能模式创建各种新功能。 其中之一是功能性集合库,旨在替代Java的标准集合。 (这只是鸟瞰图,您…

java调用kafka接口发送数据_Java调用Kafka生产者,消费者Api及相关配置说明

本次的记录内容包括:1.Java调用生产者APi流程2.Kafka生产者Api的使用及说明3.Kafka消费者Api的使用及说明4.Kafka消费者自动提交Offset和手动提交Offset5.自定义生产者的拦截器,分区器那么接下来我就带大家熟悉以上Kafka的知识说明1.Java调用生产者APi流…

java如何模拟请求_单元测试如何模拟用户请求

python web自动化测试设计构工具书40.9元包邮(需用券)去购买 >错误正当我高高兴兴写完后台c层的测试代码准备提交时,测试机器人报了很多401错误,把代码拉下来一看,原来当我写代码时,我的伙伴已经写好后台的拦截器了&#xff0c…

LeetCode 83. 删除排序链表中的重复元素

原题链接 解法:通过一个指针从头到尾进行扫描 class Solution { public:ListNode* deleteDuplicates(ListNode* head) {if(!head)return nullptr;auto p1 head;while(p1->next){if(p1->next->val p1->val)p1->nextp1->next->next;else p1 …

后端 java ee_刷新器-Java EE 7后端十大功能

后端 java ee这是我的小型Java EE 7复习系列的第二部分。 在进行了简要概述的第一篇介绍之后,我决定请Arjan Tijms撰写有关Java EE 7中他最喜欢的后端新功能的信息。如果您关注Java EE领域,您将会知道Arjan。 他是Java EE开发人员,JSF和Secur…

java cucumber_为Java + STANDARD值引入Cucumber

java cucumber作为软件开发人员,我们都有最喜欢的工具来使我们成功。 许多人在开始工作时就很适合这份工作,但很快就不见了。 其他人则需要太多的设置和培训才能“将脚趾浸入水中”,只是为了简单地确定它们是否是正确的工具即可。 Cucumber …

文章id 文章标题点击量php,WordPress如何通过文章ID获取文章标题等信息

如果我们想要在某一个主题的php文件中调用文章的标题,内容等信息,而在WordPress中唯一一直不会改变的就是文章发布时生成的ID,我们只需要获取文章的ID,即可通过文章ID来获取我们想要的文章信息。调用方法php$id // 文章的 id$tit…

javaone_JavaOne 2015:高级模块化开发

javaoneJavaOne 2015看到了Project Jigsaw团队关于Java 9中的模块化的一系列讨论 。它们都是非常有趣的,并且充满了宝贵的信息,我敦促每个Java开发人员都注意它们。 除此之外,我想给社区一种搜索和引用它们的方法,因此我在这里总…

spark rest_Spark简介,您的下一个REST Java框架

spark rest我希望您今年Java来了! 今天,我们将研究一个清新,简单,美观且实用的框架,以Java编写REST应用程序。 它将非常简单,甚至根本不会看起来像Java。 我们将研究Spark Web框架。 不,它与Ap…