- Primitive variables are passed by value.
- reference variables are passed by reference.
- When you pass a primitive variable, the JVM will copy the value of the passed-in variable to a new local variable.
- If you change the value of the local variable, the change will not affect the passed in primitive variable.
- If you pass a reference variable, the local variable will refer to the same object as the passed in reference variable.
- If you change the object referenced within your method, the change will also be reflected in the calling code.