(4)定义一个日期类MyDate,至少具有私有成员变量:year、month、day,以及成员方法setYear、getYear等(具体隐藏实现方法,用于设置、获取成员变量)、isRunyear(boolean型,判断当前对象保存的年是否为闰年)、print(打印日期对象的年\月\日信息)。 a)在main方法,要求方法中通过“MyDate d1=new MyDate(); MyDate d2=new MyDate(2009,4,1);”分别新建年月日为1999年1月1日的日期对象和年月日为2009年4月1日的日期对象,分别打印d1同d2的信息; b)使d2的年等于d1的年,使d1的月等于原d2的月,分别打印d1同d2的信息;
时间: 2023-06-12 22:05:32 浏览: 123
以下是MyDate类的实现代码:
```java
public class MyDate {
private int year;
private int month;
private int day;
public MyDate() {
this.year = 1999;
this.month = 1;
this.day = 1;
}
public MyDate(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
public void setYear(int year) {
this.year = year;
}
public int getYear() {
return this.year;
}
public boolean isRunyear() {
if (this.year % 4 == 0 && this.year % 100 != 0 || this.year % 400 == 0) {
return true;
} else {
return false;
}
}
public void print() {
System.out.println(this.year + "年" + this.month + "月" + this.day + "日");
}
}
```
使用以下代码进行测试:
```java
public class TestMyDate {
public static void main(String[] args) {
MyDate d1 = new MyDate();
MyDate d2 = new MyDate(2009, 4, 1);
System.out.print("d1: ");
d1.print();
System.out.print("d2: ");
d2.print();
d2.setYear(d1.getYear());
d1.setMonth(d2.getMonth());
System.out.print("d1: ");
d1.print();
System.out.print("d2: ");
d2.print();
}
}
```
输出结果为:
```
d1: 1999年1月1日
d2: 2009年4月1日
d1: 1999年4月1日
d2: 1999年4月1日
```
阅读全文