使用方法的重载实现:定义一个类ShapeDemo,定义求圆、矩形、三角形的周长的方法,方法名getArea;在main中调用方法求出圆、矩形、三角形的周长
时间: 2024-09-20 15:06:43 浏览: 39
JAVA方法的定义和方法的重载Overload.docx
5星 · 资源好评率100%
在Java中,你可以通过方法的重载(Overloading)来实现这个需求。首先,创建一个名为`ShapeDemo`的类,它包含一个公共方法`getPerimeter`,这个方法名称保持一致,但可以根据传入的不同形状参数有不同的实现。下面是简单的例子:
```java
public class ShapeDemo {
// 求圆的周长
public double getPerimeter(Circle circle) {
return Math.PI * circle.getRadius() * 2;
}
// 求矩形的周长
public double getPerimeter(Rectangle rectangle) {
return 2 * (rectangle.getWidth() + rectangle.getHeight());
}
// 求三角形的周长
public double getPerimeter(Triangle triangle) {
return triangle.getSide1() + triangle.getSide2() + triangle.getSide3();
}
}
class Circle {
private double radius;
// 构造函数和其他相关方法...
}
class Rectangle {
private double width;
private double height;
// 构造函数和其他相关方法...
}
class Triangle {
private double side1;
private double side2;
private double side3;
// 构造函数和其他相关方法...
}
public class Main {
public static void main(String[] args) {
// 创建并初始化不同的形状实例
Circle circle = new Circle(5);
Rectangle rectangle = new Rectangle(4, 6);
Triangle triangle = new Triangle(3, 4, 5);
// 调用各自的方法计算周长
System.out.println("Circle perimeter: " + ShapeDemo.getPerimeter(circle));
System.out.println("Rectangle perimeter: " + ShapeDemo.getPerimeter(rectangle));
System.out.println("Triangle perimeter: " + ShapeDemo.getPerimeter(triangle));
}
}
```
在这个示例中,`ShapeDemo`类的`getPerimeter`方法会根据传入的具体形状对象(Circle, Rectangle, 或者Triangle)来执行相应的计算。
阅读全文