'finalize()' should be protected, not public
Reports any implementations of the Object.finalize()
method that are declared public
.
According to the contract of the Object.finalize()
, only the garbage collector calls this method. Making this method public may be confusing, because it means that the method can be used from other code.
A quick-fix is provided to make the method protected
, to prevent it from being invoked from other classes.
Locating this inspection
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
FinalizeNotProtected- Via Settings dialog
Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.
Example:
class X {
public void finalize() {
/* ... */
}
}
After the quick-fix is applied:
class X {
protected void finalize() {
/* ... */
}
}
Availability
- By default bundled with
- Can be installed with plugin
Java, 241.18072
Last modified: 18 June 2024