3
 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;
    }
4

2 回答 2

0

因为Date.writeObject()也叫Date.getTimeImpl()

编辑:是的,getTime()只需调用getTimeImpl(). 我认为getTimeImpl()是将来可以更改的私有实现,而不能更改的getTime()是公共 API。

于 2013-11-26T09:28:03.023 回答
0

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

于 2013-11-26T08:15:31.417 回答