Java复习提纲之面向对象.docx
需积分: 0 201 浏览量
更新于2021-11-24
收藏 79KB DOCX 举报
Java面向对象编程是Java语言的核心特性,它包括类、对象、封装、继承、多态等概念。本复习提纲主要关注继承这一主题。
**继承**是面向对象编程中的一个重要概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。继承的主要特性有:
1. **子类继承父类的非私有属性和方法**:子类可以直接访问和使用父类中非 private 访问修饰符的属性和方法。
2. **子类可以拥有自己的属性和方法**:除了继承的成员,子类还可以定义自己特有的属性和方法,从而实现功能的扩展。
3. **子类可以重写父类的方法**:子类可以按照自己的需求实现父类的方法,这就是所谓的重写(Override)。
4. **提高了类之间的耦合性**:继承增强了类之间的关联,但同时也可能导致代码的耦合度增加,使得代码之间的联系过于紧密,降低了代码的独立性。
在Java中,继承是通过 `extends` 和 `implements` 关键字实现的。**`extends`** 关键字用于单继承,一个子类只能有一个直接父类。而**`implements`** 关键字用于接口的实现,一个类可以实现多个接口,实现多继承的效果。
**`super` 和 `this` 关键字**:
- **`super`** 关键字用来引用当前对象的父类,常用于调用父类的构造器或成员方法。在子类中,如果成员变量或方法与父类冲突,可以通过 `super` 来明确调用父类的成员。
- **`this`** 关键字则是指向当前对象自身的引用,用于在类的内部引用当前对象的成员。
**`final` 关键字**:它可以用于声明类、方法或变量。当用于类时,表示该类不能被继承;用于方法时,表示该方法不能被重写;用于变量时,表示该变量一旦赋值后不能更改。
**构造器**:子类不继承父类的构造器,但可以通过 `super` 关键字在子类构造器中显式调用父类的构造器,确保对象的初始化。如果父类构造器带参数,子类必须显式调用;若无参数,系统会自动调用父类的无参构造器。
**Java 重写 (Override) 和重载 (Overload)**:
- **重写**是指子类对父类的已存在的方法进行重新实现,要求返回值、参数列表完全一致,且不能降低访问权限,不能抛出更广的异常。重写的好处是可以让子类根据需要定制父类方法的行为。
- **重载**发生在同一类内,指的是多个同名方法,但参数列表不同(参数数量、类型或顺序不同),与返回类型无关。
在多态场景下,通过父类引用指向子类对象,调用方法时会执行子类重写后的版本,这体现了Java的动态绑定特性。例如,`Animal a = new Dog(); a.move();` 这段代码在运行时,会调用 `Dog` 类中 `move` 方法的实现。
Java面向对象的继承机制提供了代码复用和扩展的功能,使得程序设计更加灵活,但同时也需要注意过度依赖继承可能带来的耦合问题。理解并熟练掌握这些概念对于编写高效、可维护的Java代码至关重要。
阿垚啊
- 粉丝: 382
- 资源: 1
最新资源
- 30T水井钻机sw19全套技术资料100%好用.zip
- 生产型企业设备备件溯源
- 文明6 兵贵神速mod 发布,作者luke(伊玛目的门徒),代码在博客里开源了
- docker-compose mongodb 副本集
- 光储直流微电网协调控制 直流电压分层优化控制 逆变器与储能变流器根据负载变化情况自动实现下垂模式和恒压模式的切 (附参考文献)
- 混合copula 二维数据拟合得到相关结构参数与系数 主要针对常用的Clayton Frank Gumbel三种copula函数的组合,进行混合copula构建 Matlab代码实现
- 自适应大领域搜索算法(ALNS)matlab解决tsp问题,与传统大规模领域搜索算法(LNS)相比收敛性强,运行时间短,很好的学习资料
- 2025年机器人专业毕业设计,双足机器人及其步态规划,包含三维图及二维图和论文说明书
- A星算法 A*算法 自己研究编写的Matlab路径规划算法 Astar算法走迷宫 可自行设置起始点,目标点,自由更地图 - 可以和人工势场法融合 动态障碍物
- win32汇编环境,对话框程序中显示文本
- C# winform-网上银行信息系统开发(源码+sql文件+设计报告)-2025-01-04
- 增材制造模拟,增材制造仿真 ansys workbench ,cmt, waam ,slm,电弧增材制造焊接,温度场应力场仿真模拟分析案例教程apdl命令流 单道单层,多道多层,搭接,增材仿真
- comsol锂离子电池组充放电循环强制液冷散热仿真 模型为SolidWorks导入,可以提供原模型 电池模型:一维电化学(p2d)模型耦合三维热模型
- 无感方波BLDC,手电钻源代码,全套方案
- 基于STM32的婴儿床温湿度监控系统20241228
- 无人船 无人艇路径跟踪控制 Matlab Simulink效果 基于Foseen船舶模型,LOS制导子系统+反步控制器制作 LOS+backstepping; 注:采用ESO实现漂角 侧滑角估计