A constructor doesn't actually create an instance of the class, it's used to initialise it. And an abstract class can still have aspects of it that need initialising. So, as Atul says, the concrete subclass constructor can call the abstract class constructor to do this. In fact, it has to - if you don't make an explicit call then a call to super() is implicitly added.
Every class has a default constructor, in other words yes, every abstract class always has at least 1 constructor.
Why - because abstract class may have instance variables and they can be initialized in the constructor (how will you initialize them otherwise if they are private ??). Calendar class also has instance variables if you look at its code.
Here's the constructor code from Calendar class:
Point - well, see one constructor from Gregorian Calendar below:
It first calls the base class's constructor with super(zone, aLocale); so that base class's instance variables are initialized before its own.