创建一个新的日期(Date)类

问题遇到的现象和发生背景

创建一个新的日期(Date)类

a)其中应该包含3个整型成员变量,分别为year、month和day。

b)为Date类创建两个构造函数,其中一个不带参数,另一个接受3个参数,分别为year、month和day,在构造函数中为相应的实例成员变量进行初始化。

c)提供一个打印日期的方法。

d)编写一个main方法,在该方法中创建一个名为birthday的Date对象,用该Date对象来表示你自己的生日,并打印。

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

class Date{
    private int year;            // 年
    private int month;            // 月
    private int day;            // 日
 
    //--- 构造函数 ---//
    Day(int year, int month, int day) {
        this.year  = year;        // 年    
        this.month = month;        // 月
        this.day  = day;        // 日
    }
 
    //--- 获取年、月、日 ---//
    int getYear()  { return year; }        // 获取年
    int getMonth() { return month; }    // 获取月
    int getDay()  { return day; }        // 获取日
 
    //--- 设置年、月、日 ---//
    void setYear(int year)   { this.year  = year; }        // 设置年
    void setMonth(int month) { this.month = month; }    // 设置月
    void setDay(int day)   { this.day= day; }        // 设置日
 
    void set(int year, int month, int day) {            // 设置年月日
        this.year  = year;            // 年    
        this.month = month;            // 月
        this.day= day;        // 日
    }
 
    //--- 计算星期 --//
    int dayOfWeek() {
        int y = year;                    // 0 … 星期日
        int m = month;                    // 1 … 星期一
        if (m == 1 || m == 2) {            //  :
            y--;                        // 5 … 星期五
            m += 12;                    // 6 … 星期六
        }
        return (y + y / 4 - y / 100 + y / 400 + (13 * m + 8) / 5 + day) % 7;
    }
}
import java.util.Scanner;
 
class Date {
     
    private int year;
     
    private int month;
     
    private int day;
 
    public Date(int day, int month, int year) {
        this.year = year;
        this.month = month;
        this.day = day;
    }
     
    public Date() {
        this(0, 0, 0);
    }
     
    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;
    }
 
    @Override
    public String toString() {
        return this.year + "-" + this.month + "-" + this.day;
    }
}
 
class Person {
     
    private String name;
     
    private long phoneNumber;
     
    private Date birthday;
     
    private static final Scanner scanner = new Scanner(System.in);
     
    public Person(String name, long phoneNumber, Date birthday) {
        this.name = name;
        this.phoneNumber = phoneNumber;
        this.birthday = birthday;
    }
     
    public Person(String name, long phoneNumber) {
        this(name, phoneNumber, new Date());
    }
     
    public Person() {
        this("", 0L);
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
     
    // 键盘输入姓名
    public void setName() {
         
        System.out.print("请输入姓名:");
        this.name = scanner.nextLine();
    }
 
    public long getPhoneNumber() {
        return phoneNumber;
    }
 
    public void setPhoneNumber(long phoneNumber) {
        this.phoneNumber = phoneNumber;
    }
 
    // 键盘输入手机号码
    public void setPhoneNumber() {
         
        System.out.print("请输入电话号码:");
        this.phoneNumber = scanner.nextLong();
    }
     
    public Date getBirthday() {
        return birthday;
    }
 
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
     
    public void setBirthday(int day, int month, int year) {
        this.birthday = new Date(year, month, day);
    }
     
    public void setBirthday() {
         
        System.out.print("请输入出生日期:");
         
        Date date = new Date();
        date.setYear(scanner.nextInt());
        date.setMonth(scanner.nextInt());
        date.setDay(scanner.nextInt());
         
        this.setBirthday(date);
    }
     
    public void printInfo() {
        System.out.println("姓名:" + this.name + ", 手机号码:" + this.phoneNumber + ", 出生日期:" + this.birthday);
    }
}
 
public class Demo1 {
     
     
    public static void main(String[] args) {
         
        Person student1 = new Person();
        student1.setName();
        student1.setPhoneNumber();
        student1.setBirthday();
        student1.printInfo();
         
        Person student2 = new Person("LiSi", 189101016666L);
        student2.setBirthday(1, 10, 1949);
        student2.printInfo();
         
        Person student3;
         
        Date birthday = new Date(14, 2, 1980);
        student3 = new Person("WangWu", 18710108888L, birthday);
        student3.printInfo();
    }
}


class Date {
  private int year, month, day;

  public Date(int year, int month, int day) {
    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 Date() {
  }

  public void print() {
    System.out.println("year:" + year + ",month:" + month + ",day:" + day);
  }
}

public class Main {
  public static void main(String[] args) {

    Date birthday = new Date(1970, 1, 1);
    birthday.print();

  }
}