**问题:**编写一个MyDate类,在该类中重写equals方法,当两个MyDate类型对象年月日都相等时,返回true,否则返回false
代码求解:
import java.util.Objects;
public class MyDate {
private int year;
private int month;
private int day;
public MyDate(int year, int month, int day) {
super();
this.year = year;
this.month = month;
this.day = day;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
public static void main(String[] args) {
MyDate obj1=new MyDate(2022,8,6);
MyDate obj2=new MyDate(2022,8,6);
if(obj1==obj2) {
System.out.println("obj1=obj2");
}else {
System.out.println("obj1!=obj2");
}
//obj1!=obj2
if(obj1.equals(obj2)) {
System.out.println("obj1=obj2");
}else {
System.out.println("obj1!=obj2");
}
//obj1=obj2
public boolean equals(Object obj) {
if(this==obj) {
return true;
}
if(obj instanceof MyDate) {
MyDate mydate=(MyDate)obj;
return this.day==mydate.day&&this.month==mydate.month&&this.year==mydate.year;
}
return false;
}
}