【JAVA】Java基础—面向对象编程:构造方法的重载

在Java中,构造方法的重载允许一个类定义多个构造方法,这些构造方法可以具有不同的参数列表。通过构造方法的重载,我们可以根据不同的需求创建对象,并以不同的方式初始化对象的属性。

我们可以将构造方法的重载比作一个餐厅的菜单。餐厅提供多种菜品(构造方法),顾客可以根据自己的口味(参数)选择不同的菜品。比如,顾客可以选择不同的主料(如鸡肉、牛肉、素食)和配料(如米饭、面条、沙拉),从而形成多种不同的菜品(对象)。

构造方法的重载是通过定义多个构造方法,且这些方法具有不同的参数列表(参数类型、数量或顺序)来实现的。

1. 构造方法重载的示例

public class Rectangle {
    // 属性
    private double length;
    private double width;

    // 默认构造方法
    public Rectangle() {
        this.length = 1.0; // 默认长度
        this.width = 1.0;  // 默认宽度
    }

    // 自定义构造方法(一个参数)
    public Rectangle(double side) {
        this.length = side; // 正方形的边长
        this.width = side;  // 正方形的边长
    }

    // 自定义构造方法(两个参数)
    public Rectangle(double length, double width) {
        this.length = length; // 长方形的长度
        this.width = width;   // 长方形的宽度
    }

    // 计算面积的方法
    public double area() {
        return length * width; // 面积计算
    }
}

代码解释

  • public Rectangle():这是一个默认构造方法,初始化lengthwidth为默认值1.0。

  • public Rectangle(double side):这是一个重载的构造方法,接受一个参数,用于创建正方形。

  • public Rectangle(double length, double width):这是另一个重载的构造方法,接受两个参数,用于创建长方形。

  • area()方法用于计算矩形的面积。

2. 使用构造方法重载创建对象

public class Main {
    public static void main(String[] args) {
        // 使用默认构造方法创建对象
        Rectangle rect1 = new Rectangle();
        System.out.println("矩形1的面积: " + rect1.area()); // 输出:矩形1的面积: 1.0

        // 使用一个参数的构造方法创建正方形
        Rectangle rect2 = new Rectangle(5.0);
        System.out.println("矩形2的面积: " + rect2.area()); // 输出:矩形2的面积: 25.0

        // 使用两个参数的构造方法创建长方形
        Rectangle rect3 = new Rectangle(4.0, 6.0);
        System.out.println("矩形3的面积: " + rect3.area()); // 输出:矩形3的面积: 24.0
    }
}

代码解释

  • Rectangle rect1 = new Rectangle();:使用默认构造方法创建rect1对象,面积为1.0。

  • Rectangle rect2 = new Rectangle(5.0);:使用一个参数的构造方法创建rect2对象,表示一个边长为5.0的正方形,面积为25.0。

  • Rectangle rect3 = new Rectangle(4.0, 6.0);:使用两个参数的构造方法创建rect3对象,表示一个长方形,面积为24.0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值