Я получаю сообщение об ошибке SonarQube, что: «Вызова super.finalize()
в конце реализации этого метода настоятельно рекомендуется в случае родительских реализаций также должен утилизировать некоторые системные ресурсы.»Почему вызов super.finalize() является предпочтительным при переопределении метода finalize()?
Но я обнаружил, что Object
класса не имеет реализации для finalize способ.
protected void finalize() throws Throwable { }
Для чего нужно позвонить super.finalize()
?
В классе могут быть другие классы, находящиеся между вашим классом и «Объектом» – JonK
Вы правы, но в этом случае SonarQube должен поймать это, прежде чем поднимать предупреждение! – egelev
Серьезно, вы посмотрели, что говорит sonarQube? - ** в случае, если родительские реализации также должны располагать некоторыми системными ресурсами ** – TheLostMind