Method Invocation
Suppose method m has parameters p1,�,pn of types t1,�,tn.
When m is invoked on argument expressions e1, �, en:
- Each argument expression e1,�,en is evaluated.
- New variables of types t1,�tn are created for parameters p1,�,pn.
- Each parameter is initialized with the value of the corresponding argument.
- The block is executed.
- Upon reaching the end of the block, or upon executing a return statement:
- All parameters and all local variables of the block go out of existence.
- Control returns to the place at which m was invoked.
- If the method has return type other than void, then the value of the return expression is passed back as the value of the method invocation.