Inspectopedia Help

Overridable method called during object construction

Reports calls to overridable methods of the current class during object construction.

A method is called during object construction if it is inside a:

  • Constructor

  • Non-static instance initializer

  • Non-static field initializer

  • clone() method

  • readObject() method

  • readObjectNoData() method

Methods are overridable if they are not declared as final, static, or private. Package-local methods are considered safe, even though they are overridable. Such calls may result in subtle bugs, as object initialization may happen before the method call.

Example:

class Parent { void someMethod() { } } class Child extends Parent { Child() { someMethod(); } }

This inspection shares the functionality with the following inspections:

  • Abstract method called during object construction

  • Overridden method called during object construction

Only one inspection should be enabled at once to prevent warning duplication.

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023