在我的Employee类java中添加生日

时间:2013-02-09 15:43:57

标签: java calendar

我确信在你第一次学习编程的时候,我们会创建一些教我们接口,摘要和多态的程序。嗯,这就是我现在正在努力做的事情。

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

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

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

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

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

5 个答案:

答案 0 :(得分: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...
    }
}

答案 1 :(得分:0)

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

答案 2 :(得分:-1)

私人日期birthdayDate ... getter将只返回birtdayDay或私人日历birthDate和getter将retirn birthdayDate.getDate()

答案 3 :(得分:-1)

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

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

这是个主意。

答案 4 :(得分:-2)

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

还在Employee的构造函数中传递出生日期的参数:

import java.util.*;


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