Inspectopedia
 
2024.3

'public' constructor in non-public class

Warning
New
Last modified: 03 December 2024

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:

After the quick-fix is applied: