lWhen we create a reference, we want to connect it to a new object
lString s = new
String (“CS202!”); //or
lList obj = new
List(); //default constructor…
•We do this with the new keyword
•This allocates
memory for a new string and provides an initial value for the character string
•And, like in C++
this causes the constructor for the class type to be implicitly invoked
•New places the
objects on the heap (which is not as flexible as allowing objects to be allocoated on the stack)
•It is not possible
to request local objects of a class or to pass objects of a class by value to a function (or as
the return value). This is
because we are always working with a reference to the object – which is what gets passed (by value)