Abstract classes should not have public constructors. Constructors of abstract classes can only be called in constructors of their subclasses. So there is no point in making them public. The ``++protected++`` modifier should be enough. == Noncompliant Code Example ---- public abstract class AbstractClass1 { public AbstractClass1 () { // Noncompliant, has public modifier // do something here } } ---- == Compliant Solution ---- public abstract class AbstractClass2 { protected AbstractClass2 () { // do something here } } ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::message.adoc[] include::highlighting.adoc[] endif::env-github,rspecator-view[]