我确信在你第一次学习编程的时候,我们会创建一些教我们接口,摘要和多态的程序。嗯,这就是我现在正在努力做的事情。
我用Java编码,我正在尝试创建一个Abstract员工类。我遇到了一个小问题。我想为员工添加生日,但我不确定如何使用日历。
我希望能够像员工一样存储生日,即public String employeeName;
。将其创建为变量将允许我在其上使用getter和setter。
员工构造函数看起来像这样:
public Employee(String name, int idNumber, String Gender,
int year, int month, int day)
总结如何使用日历创建生日变量,如果我想获得生日日期(无论设置为何),我该怎么做?谢谢。
答案 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)