Using the "new" operator allocates memory on the "heap" for an instance of the type.
Declaring a local variable in a method, allocates memory for the variable on the call stack.
The base types are value types; that is, variables declared of these types are assigned memory locations of the size determined by the type without having to allocate memory explicitly using "new".