题目描述:
编写Order类,有int型的orderId,String型的orderName,相应的getter()和setter()方法,两个参数的构造器,重写父类的equals()方法:public boolean equals(Object obj),并判断类中创建的两个对象是否相等。
题目解析:
判断类中创建的两个对象是否相等。即判断Order类中对象的属性都相等。
代码描述:
public class Order {
public int orderId;
public String orderName;
public Order(int orderId, String orderName) {
this.orderId = orderId;
this.orderName = orderName;
}
public int getOrderId() {
return orderId;
}
public void setOrderId(int orderId) {
this.orderId = orderId;
}
public String getOrderName() {
return orderName;
}
public void setOrderName(String orderName) {
orderName = orderName;
}
public boolean equals(Object obj){
//obj对象可能是Object类、Order类(向下转型)。
if(obj instanceof Order){
Order o=(Order)obj;
if(this.orderId==o.orderId&&this.orderName.equals(o.orderName)){
return true;
}
}
return false;
}
}
public class Test {
public static void main(String[] args) {
Order order1=new Order(1,"zhangsan");
Order order2=new Order(1,"zhangsan");
System.out.println(order1.equals(order2));
}
}