2021-04-28 16:49:39 +02:00
|
|
|
``++Object.finalize()++`` is called by the Garbage Collector at some point after the object becomes unreferenced.
|
|
|
|
|
|
|
|
|
|
|
|
In general, overloading ``++Object.finalize()++`` is a bad idea because:
|
|
|
|
|
|
|
|
* The overload may not be called by the Garbage Collector.
|
|
|
|
* Users are not expected to call ``++Object.finalize()++`` and will get confused.
|
|
|
|
|
|
|
|
But beyond that it's a terrible idea to name a method "finalize" if it doesn't actually override ``++Object.finalize()++``.
|
|
|
|
|
2021-04-28 18:08:03 +02:00
|
|
|
|
2021-04-28 16:49:39 +02:00
|
|
|
== Noncompliant Code Example
|
|
|
|
|
|
|
|
----
|
|
|
|
public int finalize(int someParameter) { // Noncompliant
|
|
|
|
/* ... */
|
|
|
|
}
|
|
|
|
----
|
|
|
|
|
2021-04-28 18:08:03 +02:00
|
|
|
|
2021-04-28 16:49:39 +02:00
|
|
|
== Compliant Solution
|
|
|
|
|
|
|
|
----
|
|
|
|
public int someBetterName(int someParameter) { // Compliant
|
|
|
|
/* ... */
|
|
|
|
}
|
|
|
|
----
|
2021-04-28 18:08:03 +02:00
|
|
|
|
2021-06-02 20:44:38 +02:00
|
|
|
|
2021-06-03 09:05:38 +02:00
|
|
|
ifdef::env-github,rspecator-view[]
|
2021-09-20 15:38:42 +02:00
|
|
|
|
|
|
|
'''
|
|
|
|
== Implementation Specification
|
|
|
|
(visible only on this page)
|
|
|
|
|
|
|
|
include::message.adoc[]
|
|
|
|
|
2021-06-08 15:52:13 +02:00
|
|
|
'''
|
2021-06-02 20:44:38 +02:00
|
|
|
== Comments And Links
|
|
|
|
(visible only on this page)
|
|
|
|
|
|
|
|
include::comments-and-links.adoc[]
|
2021-06-03 09:05:38 +02:00
|
|
|
endif::env-github,rspecator-view[]
|