Reports the constructors of abstract classes that are declared as public.

Constructors of abstract classes can only be called in constructors of their subclasses. So making constructors of abstract classes 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.