Can an abstract class have a constructor?
If so, how can it be used and for what purposes?
Yes it can, abstract classes constructors are generally used for super calls for initialization events common to all the subclasses