📜  使用方法重载查找矩形区域的Java程序(1)

📅  最后修改于: 2023-12-03 15:06:56.858000             🧑  作者: Mango

使用方法重载查找矩形区域的Java程序

如果你需要编写一个 Java 程序来查找矩形区域并执行一些操作,你可能需要学习方法重载。

方法重载是指在同一个类中定义多个方法,这些方法拥有相同的名称但具有不同的参数类型和个数。当你调用这些方法时,Java 将自动区分它们,根据参数的类型和个数来选择正确的方法进行调用。

步骤

下面是一个简单的程序,它演示了如何使用方法重载来查找矩形区域并计算其面积:

public class Rectangle {
    private int width;
    private int height;

    public Rectangle(int aWidth, int aHeight) {
        width = aWidth;
        height = aHeight;
    }

    public int getArea() {
        return width * height;
    }

    public static Rectangle findRectangle(int x, int y) {
        // 根据左上角点坐标和长宽计算右下角点坐标
        return new Rectangle(x, y);
    }

    public static Rectangle findRectangle(int x1, int y1, int x2, int y2) {
        // 根据两个点坐标计算矩形的长宽
        int width = x2 - x1;
        int height = y2 - y1;
        return new Rectangle(width, height);
    }

    public static void main(String[] args) {
        // 使用 findRectangle(int x, int y) 方法
        Rectangle r1 = Rectangle.findRectangle(10, 20);
        System.out.println("r1 面积为:" + r1.getArea());

        // 使用 findRectangle(int x1, int y1, int x2, int y2) 方法
        Rectangle r2 = Rectangle.findRectangle(5, 10, 15, 25);
        System.out.println("r2 面积为:" + r2.getArea());
    }
}

这个程序定义了一个 Rectangle 类,其中包含一个 getArea() 方法用于计算矩形的面积,以及两个 findRectangle() 方法用于查找矩形区域。第一个方法接收一个点的坐标作为参数,用于计算一个以该点为左上角点的 1x1 矩形;第二个方法接收两个点的坐标作为参数,用于计算这两个点所构成的矩形的长宽。

main() 方法中,我们分别使用这两个方法来创建两个矩形 r1r2,并通过 getArea() 方法计算它们的面积。

注意事项
  • 当定义多个重载方法时,必须确保它们之间具有明显的区别,例如不同的参数类型、个数或参数的顺序。
  • Java 不能仅根据返回值类型的不同来区分方法,因此不能只有返回值类型不同而参数相同的多个方法。
  • 当调用一个重载方法时,Java 将根据方法中参数的类型和个数,自动选择调用正确的方法。如果给定的参数无法匹配任何一个重载方法,Java 将会报错。