Learning objects for methods
Concept
Methods are the simplest construct for abstraction
in Java. A method starts with a declaration that defines its
signature :
the name of the method, the number and types of the
formal parameters and the
return type .
The body of the method consists of local variable declarations and of statements.A method is
called or
invoked by writing the name of the method
followed by a list of values, called
actual parameters , one for
each formal parameter. A method can return a value or it can be declaredas
void
if no value is returned.
These source code of these learning objects can be found in method.zip .
LO | Topic | Java Files (.java) | Prerequisites |
"A void method" | A void method | Method01 | |
"A method returning a value" | A method returning a value | Method02 | |
"Calling one method from another" | Calling one method from another | Method03 | 1, 2 |
"Recursion" | Recursion | Method04 | 2 |
"Calling methods on an object" | Calling methods on an object | Method05 | 2, * |
"Calling a method on the same object" | Calling a method on the same object | Method06 | 5, * |
"Objects as parameters" | Objects as parameters | Method07 | 5, * |
"Returning objects" | Returning objects | Method08 | 7, * |
"Returning locally instantiated objects" | Returning locally instantiated objects | Method09 | 8, * |
* This LO assumes knowledge of the declaration of classes and the instantiation of objects.
A void method
Concept When a method that is declared
void
is called,
it allocates memory for its parameters and local variables, executesits statements and then returns. The call is a statement constructed
from the name of the method followed by a list of actual parameters.
Program: Method01.java
// Learning Object Method01
// void methodspublic class Method01 {
static void printMax(int a, int b) { int max;
if (a > b)
max = a; else
max = b; System.out.println(max);
}
public static void main(/*String[] args*/) {
int x = 10, y = 20; printMax(x, y);
Method01.printMax(10, y); }
}
The program computes the maximum of two integer values.
- The variables
x
andy
are allocated and initialized. - The method is called with the values of the actual parameters
x
andy
. - Memory is allocated for the formal parameters of the method and the local variables.
This is called an
activation record and is displayed by Jeliot in the upper left
hand part of the screen labeled
Method Area
. The new activation record hides the previous ones which are no longer accessible. - The actual parameters are used to initialize the formal parameters in the activation record.
- The local variable
max
is allocated within the activation record. - The statements of the method are executed.
- After the last statement has been executed, the method returns and the activation record is deallocated.
- Execution continues with the statement after the method call. Here, the method is called again, this time with an integer literalas an actual parameter instead of a variable.