finalize
rs should call super.finalize
for super classes to run their own finalization logic SC-R1048It is generally recommended that you use interfaces such as AutoCloseable
to perform clean-up related tasks. However, if you choose to explicitly define a finalize
r, it should call super.finalize
to let its super class run its own finalization logic when appropriate, i.e., when inheritance is involved.
class Child extends Parent {
override def finalize(): Unit = {
// clean up logic
}
}
class Child extends Parent {
override def finalize(): Unit = {
super.finalize()
// clean up logic
}
}