"这篇Java代码展示了如何创建一个基础的形状类(Shape)并设计出它的两个子类Square(正方形)和Circle(圆形),以及一个Rectangle(矩形)类,其中Rectangle类继承自Square。代码中包含了一个主程序(Main),用于用户输入尺寸并计算各个形状的周长和面积。" 在Java编程中,类的继承是一种关键的面向对象特性,允许我们创建一个新类(子类)来扩展或修改现有类(父类)的功能。在这个示例中,`Shape`是一个抽象类,它定义了所有形状共有的属性和方法,如长度、宽度以及计算周长和面积的方法。`Square`、`Circle`和`Rectangle`都是`Shape`的子类,它们各自实现了特定形状的特性。 `Shape`类有两个私有变量`length`和`wide`,分别表示长度和宽度。类中有四个公共方法: 1. `getLength()` 返回长度。 2. `getWide()` 返回宽度。 3. `getPerimeter()` 计算形状的周长,对于`Shape`来说是长度和宽度的两倍之和。 4. `getArea()` 计算形状的面积,对于`Shape`来说是长度乘以宽度。 `Square`类继承自`Shape`,并且只接受一个参数(边长)的构造器。由于正方形的边长相等,因此它没有宽度。在`Square`类中,可以覆盖`getLength()`方法返回边长,而`getWide()`方法默认返回长度,因为正方形的宽度也等于长度。 `Circle`类则只有一个半径(radius)属性,它没有长度和宽度。它重写了`getPerimeter()`方法以计算圆的周长(即2πr),并提供了`getArea()`方法来计算圆的面积(即πr²)。 `Rectangle`类继承自`Square`,这意味着它也继承了`Shape`。`Rectangle`类需要两个参数(长度和宽度),所以它有一个带两个参数的构造器。虽然`Rectangle`类继承了`Square`,但这里的设计可能有些不寻常,通常`Rectangle`会直接继承`Shape`,因为它不总是与正方形相关联。在这个例子中,`Rectangle`类的周长和面积计算与`Shape`类中的定义保持一致。 主程序`Main`中,用户通过`Scanner`输入长度、宽度和半径,然后创建相应的形状实例并调用它们的`getPerimeter()`和`getArea()`方法打印结果。程序最后关闭输入流以释放资源。 这个简单的Java代码实例展示了面向对象编程的基本概念,如类、继承、构造器以及方法的覆盖。同时,它还演示了如何通过用户输入与程序进行交互,以及如何处理基本的几何计算。这种设计模式在实际开发中非常常见,尤其是在需要处理多种相关类型时。
- 粉丝: 243
- 资源: 1940
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦