Skip to content

Methods

Büşra Oğuzoğlu edited this page Jul 7, 2022 · 13 revisions

A method in Java is a collection of statements that are grouped together to perform an operation, it has inputs (can be multiple) and a single output (the return value).

Structure of a method is as follows:

private static double findAverage(double[] numbers) {
    // Method Body
    double sum = 0.0;
    for (double e : numbers)
        sum += e;
    return sum / numbers.length;
}
  • private static double findAverage(double[] numbers) is the method header.

  • double is the return type.

  • findAverage is the method name.

  • double[] numbers are the method parameters.

  • Methods may have a return statement, they do not need to have it if their return type is void.

Method Calls:

private static int max(int a, int b) {
    int result = a;
    if (b > a) 
    result = b;
    return result;
}
int input1 = 5;
int input2 = 8;

int o = max(input1,input2);

When we call max with input1 and input2, they are Argument Values. They are passed to the method parameters int a and int b.

Result is passed to the output variable o.

Activation Record and Call Stack:

When a method is called, an activation record (or activation frame) is created. It has the parameters and other variables of the method.

When an activation record is created for a method, it is stored in an area of the memory, referred as call stack. Call stack can also be called as runtime stack, machine stack or just stack.

When a new method is called inside a method, the caller method's activation record stays and a new activation method is created for the method that has been called.

When a method returns, its activation record is removed from the stack.

Clone this wiki locally