Skip to content
UoL CS Notes

Methods

COMP122 Lectures

Methods are named code blocks. They:

  • are defined inside a class definition.
  • can have arguments and return value.
    • They can return void.
  • correspond to functions or procedures in other languages.

Defining Methods

modifiers returnType methodName (parameters){
	// method body code here
}
  • modifiers determine how the method can be accessed.
  • returnType is the type of the returned value.
  • methodName an identifier.
  • parameters a (comma-separated) list of arguments, each given as a type and an identifier.

    Order matters!

  • // method body the code block that defines the method’s behaviour.

Example

public class MaximumDemo {
	
	public static int maximum(int a, int b) {
		if(a>= b)
			return a;
		else
			return b;
	}
}
  • public and static are modifiers.
  • int is the return value.
  • maximum is the identifier.
  • a and b are two arguments of type int.

Signatures

The modifiers, spelling of the identifier, types and ordering of the parameters together form the signature of the method.

A method is uniquely identified by it’s signature.

The following all have different signatures:

public static int max (int a, int b) {}
public static int maX (int a, int b) {}
public static int max (int a, double b) {}
public static int max (double b, int a) {}
public int max (int a, int b) {}

This is the same as the first above:

public static int max(int b, int a) {}

This is because the identifier of the parameter doesn’t change the signature.

main

The main method is a method like any other, except that the interpreter will look it up and call it when it starts.

We can access it’s command-line parameters via args:

public class Hello {
	public static void main(String[] args){
		System.out.print("Hello " + args[0] + "!");
	}
}

This will produce the following when run:

 $ java Hello Ben Weston
Hello Ben!

As the second argument is not used, it is not printed.