Java多态初体验

    本文面向Java初学者,我们在教材上经常会看到Java是多态的,可是一般的教科书只停留在理论上,很少有实际操作。现在把多态个概念用代码简单描述一下,由于本人水平有限,所以难免有不足之处。

    首先我们有这样几个类,电脑,个人电脑,笔记本电脑。

java 代码
  1. class Computer{   
  2.        
  3.     public void turnOn(){   
  4.     }   
  5. }  

现在有了电脑这个类,那么个人PC,笔记本都是继承他。

java 代码
  1. class PC extends Computer{   
  2.     public void turnOn(){   
  3.         System.out.println("PC has turn on");   
  4.     }   
  5. }   
  6.   
  7. class NB extends Computer{   
  8.     public void turnOn(){   
  9.         System.out.println("NB has turn on");   
  10.     }   
  11. }  

我们看到,每个类都有一个 turnOn()方法,而在父类中这个方法是空的,子类中各自有不同的实现,到这里可能还不太明显。如果有另外一个方法,要接受这些类作为参数,就像这样

java 代码
  1. class Test{   
  2.     public void go(Computer computer){   
  3.          computer.turnOn();   
  4.     }   
  5. }  

这个方法接收的是基类参数,当然我们是可以把子类传递给方法的,也应该这么做。

java 代码
  1. go(new PC());   
  2. go(new NB());  

这样他就会去调用具体子类的turnOn()方法,所以这两次调用的输出是不一样的.如果不用基类作为参数,我们想调用每个子类的turnOn()方法,那么就要些两个方法体一样的go()而接收不同的参数的重载。

java 代码
  1. public void go(PC computer){      
  2.          computer.turnOn();      
  3.     }     
  4.   
  5. public void go(NB computer){      
  6.          computer.turnOn();      
  7.     }    

这样些也是正确的,但是这样会产生很多重复代码,而且也不易维护,当然这只是多态中最基本的一个部分,Java多态机制还有很多特性,关于这些建议大家看看 java编程思想(think in java)这本书,里面讲的很详细,这里只是很简单的描述了一下,还望个各位高手不要见笑。

educoder(头歌)实训平台Java实训作业答案 第一关 第二关 C C D BC第三关 第四关 ABD A第五关 第六关 CD D第七关 第八关 ADE D第一关 第二关 第三关 BD C第四关 第五关 第六关 CD CD AD第七关 Java语言基础(三)- 运算符和表达式 第一关 第二关 第三关 第四关 第五关 第六关 D B A C C A A第一关 第二关 C C D第三关 第四关 第五关 CD第六关 Java语言基础(五)- 循环结构基础 第一关 第二关 第三关 第四关 B C B第五关 第六关 C第七关 第八关 B第一关 第二关 第三关 第四 阅读详情

相关推荐

射频测试基础知识总结

表示可以辐射到空间的电磁频率,频率范围从300KHz~110GHz之间,射频简称RF,是高频交流变化电磁波的简称,其每秒变化小于1000次被称为低频电流,超过10000次的称为高频电流,而射频就是这种高频电流。为了确保天线接收的信号能够在接收机的最后一级被正确的恢复,一个好的低噪音放大器需要在放大信号的同时产生尽可能低的噪音以及失真。两种,带内试验的范围也有一定的差别,比如,带内试验主要是检测信号的质量,如功率、频谱宽度、调制质量,而带外测试的是信号的杂散、谐波,主要是看对频带之外的干扰有多大。

cny70的博客 9628

Word 参考文献管理 - 交叉引用 + 批量修改上标

感觉Word参考文献管理不如Latex方便,但是有些论文必须要用word写…使用交叉引用 + 批量修改上标

做减求空 2万+

IMU标定中的Allen方差

Allen方差 Allen方差是IMU标定任务中的常用工具。IMU标定可以分为确定性误差和随机误差,确定性误差包括:scale、bias、misalignment。随机误差则主要是高斯白噪声和bias随机游走。Allen方差主要用于标定随机误差。 Allen方差获取 Allen方差的计算方法如下: 保持IMU静止, 采集N个数据点。 将N个点定长分组,常用的交叠式Allen方差如下(n=3): 对于每个子集,计算均值后,计算相邻两组的方差,得到的时间-方差曲线即为Allen方差。 Alle

realjc的博客 5734

玩转Word域代码,再也不担心引用多个文献时的排版

在Word中,域代码是一种特殊的文本,可在文档中插入动态内容,而无需手动输入。熟练掌握域代码的基本原理,可以在Word排版时事半功倍。

微小冷的学习笔记 1万+

C语言 100道经典编程题适用于专升本,专接本【详细分析版】_c语言专升本题目

/法2//left指向起始 right指向数组末尾= 0){left++;//如果*left是奇数就循环接着向后指,直到指向偶数就退出//(left

2401_84978503的博客 695

ALSA音频开发实战:如何用snd_pcm_avail避免缓冲区溢出(附完整代码)

本文深入探讨了在ALSA音频开发中,如何利用`snd_pcm_avail`函数有效管理环形缓冲区,从而避免音频数据溢出或下溢。通过实战代码示例,详细解析了该函数在播放场景下的核心作用,即实时查询可写入的帧数,并构建了自适应写入循环以实现稳健的流量控制,确保音频流的平滑与稳定。

weixin_29183637的博客 461

word域代码交叉引用合并

两个引用或者多个引用的格式合并

Sparkling_Y的博客 1万+

F5 Shape逆向工程实战:从美西南航空到xbk的风控突破

本文以美西南航空和xbk为例,深入剖析了F5 Shape风控系统的逆向工程实战。文章拆解了其核心防线,包括通信加密、JSVMP逆向分析和无孔不入的环境指纹检测,并分享了定位Header生成入口、模拟算法输出及构建真实浏览器环境的系统性方法与思路,为合规的技术研究与测试提供参考。

weixin_29327525的博客 1389

java面向对象基础编程题

第一题: 设计一个形状类Shape,方法:求周长和求面积。形状类的子类:Rect(矩形),Circle(圆形)。Rect类的子类:Square(正方形)。不同的子类会有不同的计算周长和面积的方法1.总的父类 package com.num4_2; /*设计一个形状类Shape,方法:求周长和求面积。形状类的子类:Rect(矩形),Circle(圆形)。 Rect类的子类:Square(...

weixin_30520015的博客 728

信号处理算法:自适应滤波_(8).自适应陷波器

自适应陷波器是一种强大的工具,广泛应用于电力系统、通信系统和生物医学信号处理等领域。通过自适应调整滤波器的参数,自适应陷波器可以在特定频率处形成陷波,从而有效地抑制噪声或干扰信号。常见的自适应算法包括LMS和RLS,它们各有优缺点,可以根据实际需求选择合适的算法。

2401_87715305的博客 1371

番外篇 | 复现HIC-YOLOv5,助力小目标物体的检测

在本文中提出了一种改进的YOLOv5算法:HIC-YOLOv5,用于小目标检测,具有更好的性能和较低的计算成本。🌈

小哥谈 1130

java多态性的描述_代码简单描述初学Java语言之多态初体验

本文面向Java初学者,我们在教材上经常会看到Java是多态的,可是一般的教科书只停留在理论上,很少有实际操作。现在把多态个概念用代码简单描述一下,由于本人水平有限,所以难免有不足之处。首先我们有这样几个类,电脑,个人电脑,笔记本电脑。public void turnOn(){}}现在有了电脑这个类,那么个人PC,笔记本都是继承他。class PC extends Computer{public ...

weixin_42393829的博客 201

当SLAM遇上FPGA:打造一个会“硬件加速”的激光雷达SLAM系统

点云数据的运动畸变校正特征点提取与匹配、以及ICP迭代最近点配准。在传统方案中,我们通常用ARM核完成所有计算。但点云配准中的最近邻搜索(KD-Tree)需要大量分支判断,CPU处理起来效率很低;而ICP中的矩阵分解(SVD)虽然计算量大,但非常适合并行化。ZYNQ的特殊之处在于它把ARM(PS端)和FPGA(PL端)集成在同一颗芯片上。ARM擅长跑操作系统、处理复杂逻辑和调度,FPGA擅长做高吞吐量的并行计算。两者之间通过AXI总线高速互联,数据交换延迟只有几十个时钟周期。

QQ_778132974的博客 375

初学Java语言之多态初体验

本文面向Java初学者,我们在教材上经常会看到Java是多态的,可是一般的教科书只停留在理论上,很少有实际操作。现在把多态个概念用代码简单描述一下,由于本人水平有限,所以难免有不足之处。 首先我们有这样几个类,电脑,个人电脑,笔记本电脑。 class Computer{ public void turnOn(...

weixin_34015336的博客 111

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

用java语言编写多态代码_代码简单描述 初学Java语言之多态初体验

本文面向Java初学者,我们在教材上经常会看到Java是多态的,可是一般的教科书只停留在理论上,很少有实际操作。现在把多态个概念用代码简单描述一下,由于本人水平有限,所以难免有不足之处。首先我们有这样几个类,电脑,个人电脑,笔记本电脑。class Computer{public void turnOn(){}}现在有了电脑这个类,那么个人PC,笔记本都是继承他。class PC extends C...

weixin_42510188的博客 160

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java初体验and类与对象

java初步学习(注重与c语言的比较)

abc369_7的博客 960

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【04章Java面向对象编程(中)】解密 继承性和多态性

【04章Java面向对象编程(中)继承性、方法重写、多态性、Object类】解密面向对象编程

小鳴人的博客 2171

java之初体验

java之初体验通过一个多月的学习,对java有了初步的了解,并且在实践中感受到了面向对象的好处.1.在学习了c语言的基础上,开始学习java,一开始,就是面向对象的3大特征:继承;封装;多态.用我的语言描述一下:继承:子类通过继承可以获得父类中除构造方法和私有方法的一切属性和方法;封装:通过修饰符对方法和属性进行权限的限制;多态:同一个行为作用在不同的子类上产生的不同的表

jvren2006的专栏 420

Java—面向对象初体验—学习总结

众所周知,Java是一门面向对象的编程语言。今天,我来分享一下我对于java面向对象学习的总结。 何为面向对象 面向对象是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO (Object-Oriented)方法,是建立在"对象"概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而类的继承性是对具有层...

我不编写代码,我只是BUG的搬运工 224

Java初体验之TCP/IP

好久没写了,最近刚学习Java,真的是一入Java深似海啊,比C++简单易用的特性让我有了继续深入下去的动力,Java又称C++-,可以说是C++ 的改进版,取消了类型自动转换,运算符重载,多继承,以及致命的指针,还有内存空间的动态申请与释放,Java创建了垃圾自动回收机制,更是方便了我们编码。 经过一周的学习,已经初步了解了Java语言的特性,对于Ja...

Wayne_Dream的博客 217

java初体验

  看了些java的基础东西,给我的第一感觉就是它很简洁,当然这是相对于c++而言的。 首先,它没有了让人望而生畏的指针,并且提供了垃圾自动回收机制,程序员不用再为何时释放内存而诚惶诚恐。其实在dot net中也有这种机制,确切的说是ms拷贝java的理念。 其次,另一个让我喜欢的是它的多态性表现的也很简洁。不像c++中还说什么虚函数之类的东西,只会让别人感觉云山雾罩的。而ja

an3gsonnzhy的专栏 564

C++中多态的概念和意义

1、函数重写回顾: 父类中被重写的函数依然会继承给子类; 子类中重写的函数将覆盖父类中的函数; 重写父类当中提供的函数是因为父类当中提供的这个函数版本不能满足我们的需求,因此我们要重写; 期望只要是子类对象,则调用子类当中的版本,而不是父类当中定义的函数版本; 通过作用域分辨符(::)可以访问到父类中的函数; 代码示例: Child c; Parent* p = &c;...

low5252的博客 2527

JavaSE基础篇 | 方法覆盖和面向对象三大基本特征【多态】

JavaSE基础篇 | 方法覆盖和面向对象三大基本特征【多态】

m0_61933976的博客 1661
上一篇: 也谈WEB应用对传统桌面应用的影响
下一篇: 迷惑
mepjava
博客等级 码龄20年 2粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值