0

我敢肯定,当您第一次学习编程时,我们会创建某种程序来教我们接口、抽象和多态性。嗯,这就是我现在正在尝试做的事情。

我正在使用 Java 进行编码,并且正在尝试创建一个抽象员工类。不过,我遇到了一个小问题。我想为员工添加生日,但我不确定如何使用日历。

我希望能够像存储员工姓名一样存储生日,即 public String employeeName;。将其创建为变量将允许我在其上使用 getter 和 setter。

员工构造函数看起来像这样:

public Employee(String name, int idNumber, String Gender, 
    int year, int month, int day)

总结一下如何使用日历创建生日变量,如果我想获取生日日期(无论设置为什么),我该怎么做?谢谢你。

4

5 回答 5

2

也许这是一种方法:

// declare  birthday as Date:

private Date birthday;

public Employee(String name, int idNumber, String gender, 
    int year, int month, int day) {

    this.name  = name;
    this.idNumber = idNumber;
    this.gender = gender;
    initBirthday(year, month, day);
}

private void initBirthday(int year, int month, int day) {
    // all int should be greater than 0 
    if (year > 0 && month > 0 && day > 0) {
        Calendar cal = Calendar.getInstance();
        cal.set(year, month-1 , day, 0, 0, 0);
// OR the explicit way 
 //           cal.set(Calendar.YEAR, year);
 //           cal.set(Calendar.MONTH, month - 1); // january == 0 !!!!
 //           cal.set(Calendar.DAY_OF_MONTH, day);
 //           cal.set(Calendar.HOUR,0);
 //           cal.set(Calendar.MINUTE,0);
 //           cal.set(Calendar.SECOND,0);
            birthday = cal.getTime(); // this returns a Date
    } else {
       // set birthday to a default value...
    }
}
于 2013-04-04T19:58:12.637 回答
0

您应该使用 java.util.Date(已弃用)或 java.util.Calendar,而不是使用 3 个不同的变量。

于 2013-02-09T15:47:35.067 回答
-1

Private DatebirthdayDate ... getter 将只是 Return birtdayDay 或 private CalendarbirthDate 和 getter 将是 retirnbirthdayDate.getDate()

于 2013-02-09T15:46:52.527 回答
-1

你可以使用java.util.Date. 因此,您的Employee课程将如下所示:

public class Employee {
  private Date Birthday;
  public Employe(Date birthday) {}
}

这就是想法。

于 2013-02-09T15:47:31.230 回答
-2

Java 在 java.util 包中提供了 Date 类,该类封装了当前的日期和时间。

还要在Employee的构造函数中传递Date Of Birth的参数:

import java.util.*;


public Employee(String name, int idNumber, String Gender, 
    int year, int month, int day, Date dob)
于 2013-02-09T15:48:45.460 回答