java Calendar类是如何获取实例的?

2024-12-30 23:00:19
推荐回答(3个)
回答1:

你想说什么?createCalendar()肯定是根据时区和语言环境来创建Calendar的。sun.util.BuddhistCalendar这个类src.zip没有给源码,但是有这句话就够了:
public class sun.util.BuddhistCalendar extends java.util.GregorianCalendar。

因为GregorianCalendar是Calender的子类,所以sun.util.BuddhistCalendar也是Calendar的子类了。(至于具体的实现,java底层封装好了的)

如果获取的是子类对象的话return new sun.util.BuddhistCalendar(zone, aLocale);
怎么解释 ?
什么怎么解释?难道不能返回子类对象?这是一个多态啊,不会不理解多态嘛。我返回了父类对象,就调用父类的方法即可了,Calendar类的什么方法都能使用。应该是你多态不过关吧。

回答2:

createCalendar()肯定是根据时区和语言环境来创建Calendar的。sun.util.BuddhistCalendar这个类src.zip没有给源码,但是有这句话就够了:
public class sun.util.BuddhistCalendar extends java.util.GregorianCalendar。

因为GregorianCalendar是Calender的子类,所以sun.util.BuddhistCalendar也是Calendar的子类了。(至于具体的实现,java底层封装好了的)

回答3:

Calendar c = Calendar.getInstance就可以了