用Java扩展日历

Dra*_*cir 0 java calendar

我想从java.util.Calendar向Calendar添加更多方法,但是我在使用getInstance方法时遇到了麻烦.

如果我有一个像这样的对象:
public class DateObject extends Calendar{ // other methods here }

我这样做DateObject mon = DateObject.getInstance(); 代码不起作用.即使我用Calendar.getInstance()替换它,我也无法将Calendar转换为我的DateObject.

如何让我的DateObject使用getInstance()?

dty*_*dty 10

getInstance()是一个静态的方法Calendar.您无法覆盖静态方法.您需要提供自己的方法.

但我会质疑扩展日历的设计.几乎可以肯定的是,让您的类包装日历而不是扩展它.特别是,更改日历实施将变得非常非常困难.

还要考虑一下,Calendar API在许多方面都非常破碎,因此延长它将是对小猫的犯罪.

您是否考虑过可能已包含所需功能的替代日期/时间/日历库?例如JodaTime.