mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 03:21:12 +07:00
33 lines
822 B
HTML
33 lines
822 B
HTML
<html>
|
|
<body>
|
|
Reports inner classes that can be made <code>static</code>.
|
|
<p>A <code>static</code> inner class does not keep an implicit reference to its enclosing instance.
|
|
When using Java 17 or before,
|
|
this prevents a common cause of memory leaks and uses less memory per instance of the class.</p>
|
|
<p><b>Example:</b></p>
|
|
<pre><code>
|
|
<b>public class</b> Outer {
|
|
<b>class</b> Inner { // not static
|
|
<b>public void</b> foo() {
|
|
bar("x");
|
|
}
|
|
|
|
<b>private void</b> bar(String string) {}
|
|
}
|
|
}
|
|
</code></pre>
|
|
<p>After the quick-fix is applied:</p>
|
|
<pre><code>
|
|
<b>public class</b> Outer {
|
|
<b>static class</b> Inner {
|
|
<b>public void</b> foo() {
|
|
bar("x");
|
|
}
|
|
|
|
<b>private void</b> bar(String string) {}
|
|
}
|
|
}
|
|
</code></pre>
|
|
<!-- tooltip end -->
|
|
</body>
|
|
</html> |