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 by users.

The quick-fix makes the method protected to prevent it from being explicitly invoked by other classes.

Example:


  class X {
    public void finalize() {
      /* ... */
    }
  }

After the quick-fix is applied:


  class X {
    protected void finalize() {
      /* ... */
    }
  }