我希望创建一个具有默认生日的私有变量,在这种情况下为2000年1月1日。这里的错误在哪里? (我正在使用import java.util.Calendar;
)
private Calendar birth = Calendar.set(2000, 0, 0);
答案 0 :(得分:1)
您的问题是,Calendar
没有static
的{{1}}方法,它是一个实例方法(这意味着您必须先创建/获取该类的实例,可以使用)
话虽如此,自从现在到2019年,几乎没有任何借口继续使用它(特别是因为即使您仍在使用Java 7或更低版本,也有一些库可以向后移植新的{{1} } API),而应该使用较新的set
API。
java.time
或
java.time
不那么模棱两可,更易于阅读。
更新的库使执行类似操作,计算时间点之间的时间量变得更加容易,因此您可以根据其出生日期和现在计算该人的年龄
答案 1 :(得分:0)
问题在于Calendar.set
不作为静态方法存在。您必须首先获取作为Calendar
实例的对象,然后可以调用set
方法以使其具有所需的日期。
private Calendar birth = Calendar.getInstance();
{
birth.set(2000, 0, 0);
}