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

36 lines
860 B
HTML

<html>
<body>
Reports assignment to, or modification of fields that are declared in a superclass from within a subclass constructor.
<p>It is considered preferable to initialize the fields of a superclass in its own constructor and
delegate to that constructor in a subclass. This will also allow declaring a field <code>final</code>
if it isn't changed after the construction.</p>
<p><b>Example:</b></p>
<pre><code>
class Super {
int x;
}
class Sub extends Super {
Sub(int _x) {
// Warning: x is declared in a superclass
x = _x;
}
}
</code></pre>
<p>To avoid the problem, declare a superclass constructor:</p>
<pre><code>
class Super {
final int x;
Super(int _x) {
x = _x;
}
}
class Sub extends Super {
Sub(int _x) {
super(_x);
}
}
</code></pre>
<!-- tooltip end -->
</body>
</html>