Inspectopedia Help

'public' constructor in non-public class

Reports public constructors in non-public classes.

Usually, there is no reason for creating a public constructor in a class with a lower access level. Please note, however, that this inspection changes the behavior of some reflection calls. In particular, Class.getConstructor() won't be able to find the updated constructor (Class.getDeclaredConstructor() should be used instead). Do not use the inspection if your code or code of some used frameworks relies on constructor accessibility via getConstructor().

Example:

class House { public House() {} }

After the quick-fix is applied:

class House { House() {} }

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023