When you call Calendar.getInstance().. it will internally createsjava.uti.GregorianCalendar.. and returns the same. GregorianCalendar is subclassof Calendar So... it can return GregorianCalendar object.