我希望创建一个具有默认出生日期的私有变量,在本例中为 2000 年 1 月 1 日。这里的错误在哪里?(我正在使用import java.util.Calendar;
(
private Calendar birth = Calendar.set(2000, 0, 0);
你的问题是,Calendar
没有用于set
的static
方法,它是一个实例方法(这意味着你需要创建/获取该类的实例才能使用它(
话虽如此,由于现在是 2019 年,因此几乎没有理由继续使用它(特别是因为即使您仍在使用 Java 7 或更低版本,也有可用的库可以向后移植新的 java.time
API(,相反,您应该使用更新的 java.time
API。
private LocalDate birth = LocalDate.of(2000, 1, 0)
或
private LocalDate birth = LocalDate.of(2000, Month. JANUARY, 0)
这不那么模棱两可,更容易阅读。
较新的库使诸如计算到时间点之间的时间量之类的事情变得更加容易,因此您可以根据出生日期和现在计算人员的年龄
问题是Calendar.set
不是作为静态方法存在的。您必须首先获取一个作为 Calendar
实例的对象,然后您可以调用 set
方法来使其具有您想要的日期。
private Calendar birth = Calendar.getInstance();
{
birth.set(2000, 0, 0);
}