A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 爱上这格调 中级黑马   /  2013-11-15 14:19  /  1692 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Calendar是一个抽象类   不能被实例化创建对象
那么我不解的是方法getInstance()怎么返回Calendar的对象  
这个怎么解

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 神马都是浮云

查看全部评分

5 个回复

倒序浏览
public static Calendar getInstance()
    {
        Calendar cal = createCalendar(TimeZone.getDefaultRef(), Locale.getDefault());
        cal.sharedZone = true;
        return cal;
    }

private static Calendar createCalendar(TimeZone zone, Locale aLocale)
    {
        // If the specified locale is a Thai locale, returns a BuddhistCalendar
        // instance.
        if ("th".equals(aLocale.getLanguage())
            && ("TH".equals(aLocale.getCountry()))) {
            return new sun.util.BuddhistCalendar(zone, aLocale);
        } else if ("JP".equals(aLocale.getVariant())
                   && "JP".equals(aLocale.getCountry())
                   && "ja".equals(aLocale.getLanguage())) {
            return new JapaneseImperialCalendar(zone, aLocale);
        }            

        // else create the default calendar
        return new GregorianCalendar(zone, aLocale);       
    }

点评

FFF
+10086  发表于 2013-11-15 18:30
回复 使用道具 举报
hel 中级黑马 2013-11-15 14:45:46
藤椅
所以 getInstance()是static的,类直接调用
回复 使用道具 举报
FFF 金牌黑马 2013-11-15 17:24:47
板凳
如果问题已经解决,请及时修改主题为“提问结束”。
修改主题的方法链接
http://bbs.itheima.com/thread-89313-1-1.html
如果没有解决,可能你的问题问得不够清楚。可以重新发问的哦~
回复 使用道具 举报
应该是通过匿名内部类,在类内部实现,并通过返回给getInstance()方法从而获得该实例
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马