Abstract classes are designed to be extended, each constructor from the child must perform a call to a constructor from the base class, thus you need constructors in your abstract class.
The abstract class is a skeleton and thus makes no sense to instantiate it directly since it is still incomplete (children will provide the rest).