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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© linuxpara910829 中级黑马   /  2015-3-5 01:24  /  806 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

calendar是一个抽象类  为什么会有一个方法getInstance的方法(获取本类对象 )。
抽象类不能创建实例对象 getInstance获取本类对象的方法  这不矛盾吗

2 个回复

倒序浏览
本帖最后由 z47057554 于 2015-3-5 02:45 编辑

calendar不能创建自己的对象,但它可以指向自己的子类对象,getInstance()函数内部可以创建calendar子类对象并返回,然后用calendar指针指向它
回复 使用道具 举报
Calendar 抽象类定义了足够的方法,让我们能够表述日历的规则。Java 本身提供了对 "Gregorian Calendar" 规则的实现。我们从 Calendar.getInstance() 中所获得的实例就是一个 "GreogrianCalendar" 对象(与您通过 new GregorianCalendar() 获得的结果一致)。抽象类中可以包含非抽象的方法,getInstance就是非抽象的而且是静态的用于获得calendar的一个实现类的实例。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马