-
Notifications
You must be signed in to change notification settings - Fork 0
Methods
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.
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
.
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.