Back to Intellij Community

NonProtectedConstructorInAbstractClass

java/java-impl/resources/inspectionDescriptions/NonProtectedConstructorInAbstractClass.html

2025.3-rc-2634 B
Original Source

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 Ignore for non-public classes option below to ignore public constructors in non-public classes.