
resources.report.rules.pmd.CallSuperInConstructor.html Maven / Gradle / Ivy
CallSuperInConstructor
CallSuperInConstructor
It is a good practice to call super() in a constructor. If super() is not called but
another constructor (such as an overloaded constructor) is called, this rule will not report it.
This rule is defined by the following XPath expression:
//ClassOrInterfaceDeclaration[ count (ExtendsList/*) > 0 ]
/ClassOrInterfaceBody
/ClassOrInterfaceBodyDeclaration
/ConstructorDeclaration[ count (.//ExplicitConstructorInvocation)=0 ]
Example:
public class Foo extends Bar{
public Foo() {
// call the constructor of Bar
super();
}
public Foo(int code) {
// do something with code
this();
// no problem with this
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy