设置私人班级的默认出生日期

时间:2019-04-11 22:21:11

标签: java

我希望创建一个具有默认生日的私有变量,在这种情况下为2000年1月1日。这里的错误在哪里? (我正在使用import java.util.Calendar;

private Calendar birth = Calendar.set(2000, 0, 0);

2 个答案:

答案 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);
}