日期:2014-05-20  浏览次数:20987 次

Calendar.getInstance()
小弟是个java初学者,有几个关于Calendar这个类的问题请教大侠,望解决
1.为什么sun把Calendar设计成抽象的类
2.是怎么通过getInstance()这个方法创建出一个Calendar对象的,能不能给我发一下getInstance()这个方法的源码或者大侠给我讲解一下也行
拜谢
------最佳解决方案--------------------
    /**
     * Gets a calendar using the default time zone and locale. The
     * <code>Calendar</code> returned is based on the current time
     * in the default time zone with the default locale.
     *
     * @return a Calendar.
     */
    public static Calendar getInstance()
    {
        Calendar cal = createCalendar(TimeZone.getDefaultRef(), Locale.getDefault());
cal.sharedZone = true;
return cal;
    }


粗略看了下 ,使用getInstance()是为了传入Calendar的子类的实例。。。
------其他解决方案--------------------
1. 我想可能是Calendar的实现由些方法功能都是一样吧,使用抽象类就可以吧这些实现相同功能的方法都定义在calendar里面了。
2. 通过getInstance()获取Calendar对象,应该属于工厂设计模式的一种,在getInstance()方法中创建了一个Calendar实现类的对象的。
------其他解决方案--------------------
引用:
1. 我想可能是Calendar的实现由些方法功能都是一样吧,使用抽象类就可以吧这些实现相同功能的方法都定义在calendar里面了。
2. 通过getInstance()获取Calendar对象,应该属于工厂设计模式的一种,在getInstance()方法中创建了一个Calendar实现类的对象的。


还是不明白唉~