OverloadMethodsDeclarationOrder

Since Checkstyle 5.8

Description

Checks that overloaded methods are grouped together. Overloaded methods have the same name but different signatures where the signature can differ by the number of input parameters or type of input parameters or both.

Examples

To configure the check:

<module name="Checker">
  <module name="TreeWalker">
    <module name="OverloadMethodsDeclarationOrder"/>
  </module>
</module>
        

Example of correct grouping of overloaded methods:

public void foo(int i) {}
// comments between overloaded methods are allowed.
public void foo(String s) {}
public void foo(String s, int i) {}
public void foo(int i, String s) {}
public void notFoo() {}
private interface ExampleInterface() {}
        

Example of incorrect grouping of overloaded methods:

public void foo(int i) {} // OK
// comments between overloaded methods are allowed.
public void foo(String s) {} // OK
public void notFoo() {} // violation. Have to be after foo(String s, int i)
public void foo(int i, String s) {}
private interface ExampleInterface() {}
public void foo(String s, int i) {} // violation. Have to be after foo(int i, String s)
        

Example of Usage

Violation Messages

All messages can be customized if the default message doesn't suit you. Please see the documentation to learn how to.

Package

com.puppycrawl.tools.checkstyle.checks.coding

Parent Module

TreeWalker