创建一个汽车类(Car)

创建一个汽车类(Car)

1、为其定义两个属性:颜色和型号。每个属性都使用private进行封装,都设置set、get方法。

2、为该类创建两个构造方法。第一个为无参的构造方法。第二个为有参的构造方法

3、重写toString方法,通过toString输出汽车信息。

4、重写equals方法,如果汽车的颜色和型号相同就认为是同一辆车。

5、实例化两个对象,输出两个对象的信息,比较两个对象是否是同一个对象。

public class Car {
    private String color;
    private String model;

    // 无参构造方法
    public Car() {
    }

    // 带参构造方法
    public Car(String color, String model) {
        this.color = color;
        this.model = model;
    }

    // 颜色属性的set方法
    public void setColor(String color) {
        this.color = color;
    }

    // 颜色属性的get方法
    public String getColor() {
        return color;
    }

    // 型号属性的set方法
    public void setModel(String model) {
        this.model = model;
    }

    // 型号属性的get方法
    public String getModel() {
        return model;
    }

    // 重写toString方法
    @Override
    public String toString() {
        return "Car{" +
                "color='" + color + '\'' +
                ", model='" + model + '\'' +
                '}';
    }

    // 重写equals方法
    @Override
    public boolean equals(Object obj) {
        if (this == obj) {            //这一行代码首先检查两个对象的引用是否相同。使用==运算符比较两个对象的引用,
            return true;              // 如果它们指向同一个内存地址,则表示这两个对象是相同的,直接返回true。
        }

        if (obj == null || getClass() != obj.getClass()) {   //这一行代码首先检查参数obj是否为null,如果是null则表示与当前对象不相等,直接返回false。
            return false;                                    //接着,我们使用getClass()方法获取当前对象的类对象(Class对象),并与参数obj的类对象进行比较。如果两个对象的类不相同,说明它们不属于同一个类,直接返回false。
        }

        Car other = (Car) obj;                                         //这一段代码将参数obj强制转换为Car类型,并将其赋值给变量other。
        return color.equals(other.color) && model.equals(other.model); //然后,通过调用equals()方法来比较两个对象的颜色和型号属性是否相等。equals()方法是String类的方法,用于比较字符串是否相等。
    }                                                                  //如果颜色和型号都相等,返回true,表示两个对象相等;否则返回false,表示两个对象不相等。
    
    //总结来说,重写equals代码块比较两个Car对象是否相等的逻辑为:首先检查引用是否相同,然后检查类是否相同,最后比较对象的属性是否相等。
    
    public static void main(String[] args) {
        // 实例化两个Car对象
        Car car1 = new Car("红色", "奔驰");
        Car car2 = new Car("红色", "奔驰");

        // 输出两个对象的信息
        System.out.println(car1);
        System.out.println(car2);

        // 比较两个对象是否相同
        System.out.println("两个对象是否相同:" + car1.equals(car2));
    }
}

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值