原理上说不可以,但是我在jdk中发现有好多抽象类都被实例化了,例如calendar类,FormatDate类谁能解释下。
抽象类能否被实例化?? calender
------解决方案--------------------
看看对应方法的源码,其实实例化的是一个子类
------解决方案--------------------
createCalendar()肯定是根据时区和语言环境来创建Calendar的。sun.util.BuddhistCalendar这个类src.zip没有给源码,但是有这句话就够了:
public class sun.util.BuddhistCalendar extends java.util.GregorianCalendar。
因为GregorianCalendar是Calender的子类,所以sun.util.BuddhistCalendar也是Calendar的子类了。(至于具体的实现,java底层封装好了的)