While this does not affect any behavior, it more accurately describes the accessibility. Since abstract classes can only be instantiated by an instance of a derived type, the constructors should at most have protected access.