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

38 lines
765 B
HTML

<html>
<body>
Reports usages of <code>instanceof</code> or <code>getClass() == SomeClass.class</code> in which a
<code>this</code> expression is checked.
<p>Such expressions indicate a failure of the object-oriented design, and should be replaced by
polymorphic constructions.</p>
<p>Example:</p>
<pre><code>
class Super {
void process() {
if (this instanceof Sub) { // warning
doSomething();
} else {
doSomethingElse();
}
}
}
class Sub extends Super {}
</code></pre>
<p>To fix the problem, use an overriding method:</p>
<pre><code>
class Super {
void process() {
doSomethingElse();
}
}
class Sub extends Super {
@Override
void process() {
doSomething();
}
}
</code></pre>
<!-- tooltip end -->
</body>
</html>