All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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