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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zcbyzcb 中级黑马   /  2013-7-2 22:34  /  1374 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杜光 于 2013-7-5 07:38 编辑

抽象类不能实例化对象也包括在抽象类中,而DateFormat类是抽象类,但在格式化时间的时候有一种方法为DateFormat df = DateFormat.getDateInstance();
这个方法在该类内部的原理是什么呢?求解。急啊

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

9 个回复

倒序浏览
getDateInstance()这个方法是DateFormat类的静态方法吧。它的返回值就是一个DateFormat 没什么错误啊。很好理解啊  又不是new出了对象
回复 使用道具 举报
        DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。
DateFormat df = DateFormat.getDateInstance();一般用于格式化多个日期,要格式化不同语言环境的日期,就在 getDateInstance() 的调用中指定它。
例如:DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE);
另外还可使用 getDateInstance 来获取该国家/地区的标准日期格式;如果愿意,还可以在格式上设置时区。
    如果想对格式化或解析施加更多的控制(或者给予用户更多的控制),可以尝试将从工厂方法所获取的 DateFormat 强制转换为SimpleDateFormat。这适用于大多数国家/地区;

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
为了更好的维护论坛的学习氛围,如果您的的问题“已经解决”请即时将帖子状态改成“已解决”

-------------------坚持学习,黑马因你而精彩---------------
回复 使用道具 举报
getDateInstance()方法被封装在DateFormat里,只需你调用就可以了。
DateFormat为抽象类,不能new,只能使用getDateInstance来实例化。
回复 使用道具 举报
在该类内部有一个该类的子类,已经实现了该类的所有abstract方法
回复 使用道具 举报
slatop@qq.com 发表于 2013-7-3 08:50
在该类内部有一个该类的子类,已经实现了该类的所有abstract方法

这么说,倒是懂点了,它既然能返回自身对象,内部必然有一个对象才对,否则怎么返回,thank you
回复 使用道具 举报
j816326 发表于 2013-7-2 22:39
getDateInstance()这个方法是DateFormat类的静态方法吧。它的返回值就是一个DateFormat 没什么错误啊。很好 ...

getDateInstance这个方法是怎样实现的呢
回复 使用道具 举报
zcbyzcb 发表于 2013-7-3 23:20
这么说,倒是懂点了,它既然能返回自身对象,内部必然有一个对象才对,否则怎么返回,thank you ...

都说了是该类的子类,你怎么还说返回自身对象。
A类里面定义了一个B类,B类extends A类并复写了他的abstract方法,然后调用A类的getDataInstance获取这个B类的一个对象,在返回这个对象的时候,通过一个A类的引用接收。还不明白吗。

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

回复 使用道具 举报
slatop@qq.com 发表于 2013-7-4 16:42
都说了是该类的子类,你怎么还说返回自身对象。
A类里面定义了一个B类,B类extends A类并复写了他的 ...

恩,知道了,表达错误,明白了,谢啦,哥们
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马