Inspectopedia Help

Public constructor in abstract class

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.

Inspection options

Option

Type

Default

Ignore for non-public classes

Checkbox

false

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023