## Why is this an issue?

The contract of the `Object.finalize()` method is clear: only the Garbage Collector is supposed to call this method.

Making this method public is misleading, because it implies that any caller can use it.

### Noncompliant code example

    public class MyClass {

      @Override
      public void finalize() {    // Noncompliant
        /* ... */
      }
    }

## Resources

- CWE - CWE-583 - finalize() Method Declared Public
- CERT, MET12-J. - Do not use finalizers