Signature

Classic programmed-learning exercises, refreshed for modern Java and presented in the current MrStyner.com portfolio style.

Modern Java noteThis archive has been refreshed for Java 25 LTS. Core language concepts remain useful, while outdated setup instructions and browser-era Java are labeled or replaced. Java 26 is the current feature release; Java 25 is used here as the stable teaching baseline.

Answer:

The signature of a method is the name of the method and types in its parameter list, something like this:

someMethod( int, double, String )

The return type is not part of the signature. The names of the parameters do not matter, just their types.

Signature

The name of a method is not enough to uniquely identify it because there may be several versions of a method, each with different parameters. Using the types in the parameter list says more carefully which method you want. The return type can't be used because of the following situation. Say that there are two someMethod() methods: one defined in a parent class like this:

int someMethod( int x, double y, String z )
{
  //method body
}

and another method defined in a child class like this:

short someMethod( int a, double b, String c )
{
  // completely different method body
}

Somewhere else in the program someMethod() is called:

long w = child.someMethod( 12, 34.9, "Which one?" );

The value on the right of the = could be either int or short. Both can be converted to a long value needed for the variable w. You can not tell which someMethod() matches the statement. In other words, the signatures of the two methods are not unique.

QUESTION 2:

Do these two methods have different signatures?

double aMethod( int x, String y){. . .}

short  aMethod( int a, double b){. . .}