# Java: Methods - Calling

## What happens when a method is called

1. Space on the call stack is reserved for the return address, the local variables and formal parameters, and perhaps other things in the current method that must be saved.
2. The actual parameters are copied into the formal parameters.
3. Execution is transferred to the beginning of the called method.
4. When the method returns, the return address specifies where to continue execution in the caller and the caller's state is restored. If the method returned a value, that value is passed back to the caller.

## Calling a method

When you call a method outside your class, you must put an object or class name in front of it, then a dot, then the method call. For example,

        g.drawRect(10, 20, 30, 40);

This calls the `drawRect` method in the class of g (Graphics) with 4 int parameters. Internally there are five parameters: the Graphics object, and the four int parameters. The method can then reference all of the fields in the Graphics object without any special notation.
When you call methods which are defined in your own class, you don't need to write an object in front of them if they are working on the same fields (the same object). However, it is sometimes clearer to write `this.` in front of them to make it clear that you are calling the method with the current object. [needs examples]