Start here

Home
About Klocwork
What's new
Fixed issues
Release notes
Installation

Reference

C/C++ checkers
Java checkers
C# checkers
MISRA C 2004 checkers
MISRA C++ 2008 checkers
MISRA C 2012 checkers
MISRA C 2012 checkers with Amendment 1
Commands
Metrics
Troubleshooting
Reference

Product components

C/C++ Integration build analysis
Java Integration build analysis
Desktop analysis
Refactoring
Klocwork Static Code Analysis
Klocwork Code Review
Structure101
Tuning
Custom checkers

Coding environments

Visual Studio
Eclipse for C/C++
Eclipse for Java
IntelliJ IDEA
Other

Administration

Project configuration
Build configuration
Administration
Analysis performance
Server performance
Security/permissions
Licensing
Klocwork Static Code Analysis Web API
Klocwork Code Review Web API

Community

View help online
Visit RogueWave.com
Klocwork Support
Rogue Wave Videos

Legal

Legal information

JD.OVER

JD.OVER occurs when a subclass has a method defined and its superclass has a method with the same name defined but with a different signature, and both the class and the superclass do not have other methods with the same name.

Vulnerability and risk

In some cases it might be an attempt to override a method in a superclass, but the parameter lists do not match, so the superclass method is not overridden. It could have happened when the method signature changed in the superclass but not in the subclasses. It is not an error if the designer intended the behavior.

Mitigation and prevention

If it is an error, fix the method signature in the subclass(es).

Example 1

8  public class JD_OVER_Sample_1 {
9      class MyClass {
10         void init(int i) {
11 
12         }
13     }
14 
15     class MyOtherClass extends MyClass {
16         void init() {
17 
18         }
19     }
20 }

JD.OVER is reported for method declaration on line 16: Possible incorrect override for method 'init()'. Maybe 'init(int)' from class 'com.klocwork.jdefects.checkers.ast.samples.JD_OVER_Sample_1$MyClass' is what was intended to be overridden.