Reports public constructors of abstract classes.

Constructors of abstract classes can only be called from the constructors of their subclasses, declaring them public may be confusing.

The quick-fix makes such constructors protected.

Example:


  public abstract class Foo {
    public Foo () { // warning: has 'public' modifier
        /* ... */
    }
  }

After the quick-fix is applied:


  public abstract class Foo {
    protected Foo () {
        /* ... */
    }
  }

Configure the inspection:

Use the option below to ignore non-public classes.