对java.util.Date中的方法getTime和getTimeImpl感到困惑?

时间:2013-11-26 07:28:22

标签: java design-patterns java.util.date

 public long getTime() {
    return getTimeImpl();
}

private final long getTimeImpl() {
    if (cdate != null && !cdate.isNormalized()) {
        normalize();
    }
    return fastTime;
}

我对代码段感到有些困惑。 为什么他没有写下面的内容? 我认为它可能更具可读性。

public long getTime(){
        if (cdate != null && !cdate.isNormalized()) {
            normalize();
        }
        return fastTime;
    }

2 个答案:

答案 0 :(得分:0)

我认为原因是您可以扩展Date类并覆盖方法getTime()。

答案 1 :(得分:0)

因为Date.writeObject()也会调用Date.getTimeImpl()

编辑:是的,getTime()只需拨打getTimeImpl()。我认为getTimeImpl()是私有实现,将来可以更改,而getTime()是公共API,无法更改。