继承和多态
1|0继承
1|1继承:
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例 域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
生活中的继承:
1|2继承的概述:
- 继承是面向对象程序设计的一个重要特征,它是通过继承原有类派生出子类,进而构造出更为复杂的子类。
- 子类既有新定义的行为特征,又继承了原有类的行为特征。
- 父类与子类存在着包含与被包含的关系,是一种is-a的关系。
- 在Java中继承可以在现有类的基础上进行功能的扩展,这样能够更加快速地开发出新类,使新类不仅可以复用当前类的特征和行为而且还可以定义自己的特征和行为。
- 通过继承可大幅度提高代码的复用性,减少代码量,便于程序的后期维护。
*Java继承语法:*
父类也称为基类或超类
1|3继承的实现:
*示例:*定义父类武器,以及子类圣剑和长矛
2|0多态
2|1多态:
从一定角度来看,封装和继承几乎都是为多态而准备的。
多态是指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。
多态是指同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。
在编译时,可以通过父类的引用指向子类对象,而在运行时,则通过父类所指向的子类对象,调用子类中重写父类的方法。
2|2多态的应用:
示例:指向子类的父类引用在执行重写方法时所体现的多态性
2|3引用变量的强制类型转换:
示例:调用父类引用的方法没有在父类进行定义
分析:
引用变量只能调用其编译时类型的方法,而不能调用运行时类型的方法,即 使实际所引用的对象确实包含该方法。
如果需要让引用变量调用运行时类型的方法,则必须将其强制类型转换为运 行时类型,强制类型转换需借助于类型转换运算符。
2|4instance of 运算符
*instance of* 运算符用于判断一个实例是否为某个类的实例
语法:
判断实例a是否为类A的实例,如果为真则返回true,否则返回false。
总结:
声明包的语句是“package 包名”,该语句必须放在第一行,导入类的语句是 “import 包名.类名”。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例 域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
子类继承父类的语法是:“[修饰符] class 子类名 extends 父类名”。
重载就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。
重写就是在子类方法重写父类方法,重写的方法和被重写的方法必须具有相同方法名称、参数
列表和返回类型。
多态是指同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。
在编译时,可以通过父类的引用指向子类对象,而在运行时,则通过父类所指向的子类对象,调用子类中重写父类的方法。
__EOF__

本文链接:https://www.cnblogs.com/chenlei210162701002/p/18344114.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!