Files
openide/java/java-impl/resources/inspectionDescriptions/InnerClassMayBeStatic.html
Leonid Shalupov 40795fe787 IJI-2422: community/java: move resources under resources root
GitOrigin-RevId: 8b2b63fc6db476ca0c2cfe5cadd84db6c4236d0f
2025-02-05 04:43:28 +00:00

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>