JAVA面向对象——多态(最重要部分)

新手小白学JAVA 面向对象之多态 4 多态 4.1 概念 多态指同一个实体同时具有多种形式 它是面向对象程序设计(OOP)的一个重要特征。 主要是指同一个对象,在不同时刻,代表的对象不一样,指的是对象的多种形态。 好处是:可以把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,统一调用标准。 水果有两种形态:水果和苹果,不关心买回来的是苹果还是西瓜,只要是水果就行 class Animal{//1.定义父类Animal …eat(){syso(“吃啥都行”)} } class Cat exte 阅读详情

参考 抽象类和接口:http://blog.youkuaiyun.com/yyyandroid/article/details/7680436


对象的多态性:(JAVA中最重要的一个部分)

1、方法的重载和方法的覆盖实际上属于多态的一种体现

2、真正的多态性还包含了一种称为对象多态行的概念

3、对象多态性:子类和父类对象的相互转换关系

向上转型:父类 父类对象 = 子类实例 -->自动完成

向下转型 :子类 子类对象=(子类)父类实例 -->强制完成


常见异常:java.lang.ClassCastException (类转换异常,根本原因是两个没有关系的类进行相互的对象转换操作)此异常实际上是继NullpointerExption之后,第二个最容易出现的异常。


4、instanceof类的用法:(判断是否是另一个类的实例)

对象 instanceof 类 ——>返回boolean类型的数据,值就是true或false

class DemoA{
	public void fun1(){
		System.out.println("-A---fun1----");
	}
	public void fun2(){
		fun1();
	}
}
class DemoB extends DemoA{
	public void fun1(){
		System.out.println("-B---fun1----");
	}
	public void funB2(){
		System.out.println("-B---funB2----");
	}
}

class DemoC extends DemoA{
	public void fun1(){
		System.out.println("-C---fun1----");
	}
	public void funC2(){
		System.out.println("-C---funC2----");
	}
}


public class Demo {
	public static void main(String args[]){
		getAllFun(new DemoB());
		getAllFun(new DemoC());
		getAllFun(new DemoB());
	}
	public static void getAllFun(DemoA childClass){
		childClass.fun2();
		if(childClass instanceof DemoB){
			DemoB demoB = (DemoB) childClass;
			demoB.funB2();
		}
		if(childClass instanceof DemoC){
			DemoC demoC = (DemoC) childClass;
			demoC.funC2();
		}
		
	}
}

//结果:
//-B---fun1----
//-B---funB2----
//-C---fun1----
//-C---funC2----
//-B---fun1----
//-B---funB2----

5、在继承关系中,父类的设计很重要。只要父类设计合理了,则代码开发就非常简便了

JAVA面向对象高级部分—多态 变量存储的地址不能改变,但地址所指向对象的内容可以改变每个子类都要重写父类的方法代码示例接口中不能有构造器和创造对象。原来的接口中只能定义一些常量和成员抽象方法,有了这三个新增方法后,接口内的方法可以有方法体了。1、默认方法使用default修饰2、私有方法,必须使用private修饰接口外部不能直接访问接口内部方法可以直接访问3、静态方法:必须使用static修饰,默认会被public修饰接口的多继承接口的注意事项(了解)1)被继承的接口中,存在方法名冲突,则不支持多继承。 阅读详情

相关推荐

1.5 面向对象编程中级 面向对象编程最重要的特征 多态 方法重写与覆盖-跟着韩老师学JavaSE

面向对象编程中级 第六章 第七章的内容 方法的重写与超级重要的多态!

一碗菜粥的博客 1121

java面向对象最重要的_JAVA面向对象——多态(最重要部分)

对象的多态性:(JAVA中最重要的一个部分)1、方法的重载和方法的覆盖实际上属于多态的一种体现2、真正的多态性还包含了一种称为对象多态行的概念3、对象多态性:子类和父类对象的相互转换关系向上转型:父类 父类对象 = 子类实例 -->自动完成向下转型 :子类 子类对象=(子类)父类实例 -->强制完成常见异常:java.lang.ClassCastException (类转换异常,根本原...

weixin_42526087的博客 249

基于FLUENT的圆柱绕流数值模拟与流场优化策略

本文详细介绍了基于FLUENT的圆柱绕流数值模拟方法与流场优化策略。从基础概念、建模技巧到湍流模型选择,全面解析了圆柱绕流模拟的关键技术,并提供了实用的网格划分和参数设置建议。通过具体案例展示了流动控制方法和优化流程,帮助工程师有效降低阻力系数,提升流场性能。

f6g7h8i9j的博客 705

【Java】面向对象:继承、组合和多态

面向对象三大特征之继承和多态

trong_ 的烂笔头 1553

基于STM32的简易电压、频率、占空比测量仪

任务详解:我们需要实现三个功能: 第一个是测频率的功能,输入信号为频率为1kHz~10kHz的三种波形(方波、三角波、正弦波),这也是我们最常见的三种波形。幅度是不需要测量的,所以先不关心幅度。 第二个是电压报警功能,当输入信号的幅度超过15V时,我们需要报警(这里我用了一个红色LED当报警器,有条件的还可以加个蜂鸣器)并且把此时的信号幅度显示在OLED屏幕上。 第三个是通信方式的要求,需要有串口通信功能。 第四个是计算占空比的任务,这个任务的输入是幅度为1V~10V、频率为20Hz ~1kHz的方波,需要

weixin_43469377的博客 7251

<硬件设计> 阻抗设计(二) 使用Si9000计算阻抗

阻抗设计(二) 使用Si9000计算阻抗

杰克拉力船长个人博客 1万+

Java面向对象编程三大特征 - 多态

本文关键字:Java、面向对象、三大特征、多态。多态是面向对象编程的三大特征之一,是面向对象思想的终极体现之一。在理解多态之前需要先掌握继承、重写、父类引用指向子类对象的相关概念。

微光点亮星辰 1万+

Hierarchical-Localization 环境配置与依赖管理全攻略

本文提供了Hierarchical-Localization(hloc)视觉定位工具箱从零开始的环境配置与依赖管理全攻略。针对Windows、Ubuntu和macOS三大操作系统,详细解析了Python版本选择、PyTorch与CUDA版本匹配、pycolmap版本锁定等核心依赖的安装步骤,并汇总了权重文件格式、NumPy版本、路径配置等常见问题的排查与解决方案,旨在帮助用户高效搭建稳定的hloc开发环境。

weixin_29066781的博客 335

【Java面向对象】多态的详细介绍,简单易懂,看这一篇就够了

方法或对象具有多种形态,是面向对象的第三大特征,多态是建立在封装和继承的基础之上的。简单来说,多态是具有表现多种形态的能力的特征。

Ceylan__的博客 2796

代码详解——Transformer

对于一个序列,在 time_step 为 t 的时刻,我们的解码输出应该只能依赖于 t 时刻之前的输出,而不能依赖 t 之后的输出。当 Decoder 的输入矩阵和 Mask 矩阵输入矩阵包含 “ I have a cat” (0, 1, 2, 3, 4) 五个单词的表示向量,Mask 是一个 5×5 的矩阵。然后判断是否传入的mask, 如果有mask (mask参数值不为None),则把mask为0的位置,将对应位置的attn的值设为无穷小的负数。可以发现得到的输出和输入的K,Q,V的大小相同。

zyw2002的博客 7209

C#实战:如何用Chart控件打造专业级数据可视化报表(附完整代码)

本文详细介绍了如何使用C#的Chart控件创建专业级数据可视化报表,涵盖柱状图、饼图和雷达图等多种图表类型的高级定制与交互增强。通过完整的代码示例,展示了从环境配置到动态数据绑定的全流程,助力开发者提升企业级应用的数据可视化能力。

ipfs8storage的博客 420

Java面向对象 - 封装、继承和多态

简介 面向对象的三个基本特征是:封装、继承和多态。 封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类)。封装和继承的目的都是:代码重用。而多态则是为了实现另一个目的 —— 接口重用!多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。 本实训主要学习面向对象三大基本特性:封装、继承和多态。 第1关:什么是封装,如何使用封装 任务描述 相关知识 什么是封装 封装的意义 编程要求 测试说明 任务描述 本关任务:构造

aiains的博客 7052

XDMA流传输模式

XDMA 流传输模式(Streaming DMA)​ 是 Xilinx FPGA 通过 PCIe 与主机进行 ​实时流式数据传输 的核心机制,

浩瀚之水的专栏 3434

初识JAVA-面向对象的三大特征之多态

多态,简单来说就是多种形态,复杂点说就是不同对象去完成某个行为时产生不同的状态。 总的来说:同一件事情,发生在不同对象上,就会产生不同的结果。

2301_76928097的博客 1885

QT入门开发一个时钟

本文讲述了时钟开发的具体过程以及代码。 涉及到一下几个知识点: 1. 定时器使用 2. 本地时间获取 3. resource资源读取 4. 图片绘制 5. 图片按照中心旋转 6. sin或者cos角度计算。

啊渊的专栏 5144

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Java面向对象三大特征(封装,继承,多态)

什么是多态?多态是在继承、实现情况下的一种现象,表现为:对象多态、行为多态。多态体现为父类引用变量可以指向子类对象。比如:Teacher和Student都是People的子类,代码可以写成下面的样子。

szm0225的博客 1902

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【JAVA】面向对象三大特性之多态

本文深入解析Java多态的核心概念与实现机制。多态作为面向对象编程三大特性之一,通过继承体系下的方法重写实现"一个接口,多种实现"的效果。文章详细阐述了多态的实现条件(继承、重写、父类引用调用),并通过动物类继承体系代码示例演示了多态的具体应用。同时对比了方法重写与重载的区别,解释了静态绑定与动态绑定的原理。此外,文章还系统介绍了向上转型(子类对象作为父类使用)和向下转型(父类引用还原为子类对象)的转换机制及使用场景,特别指出了向下转型的安全隐患及instanceof操作符的解决方案。全

m0_68002296的博客 704

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

基于Java的面向对象的多态示例

这些Java示例完整展示了面向对象多态性的核心概念,同时体现了Java语言特性(如接口、抽象类、注解等)。通过合理运用多态性,可以设计出高内聚、低耦合的软件系统,符合面向对象设计原则(OODP)。必须保持方法签名一致(参数类型、顺序、数量)

darkhorsefly的专栏 897

Java面向对象特征之三 多态

文章目录Java面向对象特征之三 多态1.多态的定义2.多态的分类静多态动多态3.向上造型向上造型的好处4.多态实例演示5.多态的实现原理 Java面向对象特征之三 多态 1.多态的定义 多态是同一个行为具有多种不同的表现形式或形态的能力。允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用) 比如黑白打印机和彩色打印机,对打印的操作黑白打印机打印的效果是黑白的,彩色打印机打印出来的效果是彩色的;比如学生和老师,学生的工作是学习,老师的工作是授

WYSCODER的博客 1253

面向对象—多态

多态

qq_44346427的博客 3844

Java面向对象——多态

Java面向对象——多态

weixin_64811434的博客 1166

Java面向对象三大特征之多态

在之前的文章,我们分别介绍了类与对象、面向对象三大特征的封装、以及继承(一)、继承(二)。这一篇文章,我们介绍Java面向对象三大特征的最后一个——多态。

阿常的博客 1148

Java面向对象-多态

Java面向对象三大特性之一 多态 面向对象的特征三:多态性 1.理解:一个事物的多种形态。 2.java中多态性的体现:子类对象的多态性 将子类的对象赋给父类的引用。(或父类的引用指向子类的对象) 3. 多态性的使用:编译时,因为引用是父类类型,所以能调用父类中声明的方法。但是真正运行时,由于创建的 是子类对象,则调用的是子类重写父类的方法。----虚拟方...

斗鹰的技术专栏 1210

java面向对象之继承、多态及部分关键字总结

java面向对象之继承、多态 一、继承 继承的概念: 将多个类中的共性内容抽取出来放在一二个独立类虫, 同时这多个类和独立的类产生一-种关系. “继承关系” (extends) 继承的好处: 1)提高代码的复用性 2)提高代码的维护性 3)类与类产生的关系(继承),是多态的前提条件之一! 继承的特点: 1)在Java中,类与类之间只支持单继承,丕支持多继承! 2)虽然不支持多继承,但是可以支持多层继承! 继承的弊端:类与类之间的继承关系,存在一定的耦合性! 开发的原则:低耦合,高内聚 二、局部变量与st

qq_46113381的博客 466

Java面向对象与多态

在前面学习到的接口和继承中,如果父类只能使用父类的方法,子类可以使用父类和自己的方法,但是有时需要使用父类调用子类重写的父类方法,上面的思路就不再合适,此时就可以使用多态。多态的特点:使用父类引用指向子类的对象,此时父类可以调用子类重写父类的方法,但是调不到子类特有的成员访问成员变量时:看赋值符号左侧是子类还是父类,如果是父类,调用就是父类成员变量,否则调用的是子类成员变量访问成员方法时:看new。

小何代码咖啡馆 1129

面向对象之多态性

多态性是面向对象编程的又一个重要特征,它是指在父类中定义的属性和方法被子类 继承之后,可以具有不同的数据类型或表现出不同的行为 Java 实现多态有 3 个必要条件:继承、重写和向上转型。 1、继承:在多态中必须存在有继承关系的子类和父类。 2、重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。 3、向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才既能可以...

weixin_44540580的博客 2898
上一篇: JAVA面向对象——继承
下一篇: JAVA方法重载与覆写的比较,this与super比较,final
跳跳
博客等级 码龄15年 7粉丝 31原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值