Can a constructor be used to change the data inside an object?
Answer:
No. Constructors always create new objects. (They might get data from an old object, but a completely separate object will be constructed using a different chunk of main memory.)
Dangerously Similar Program
Here is the example program, this time modified to create a second Point object:
import java.awt.*;
class ChangingData2
{
public static void main ( String arg[] )
{
Point pt = new Point( 12, 45 ); // construct a Point
System.out.println( pt );
pt = new Point( -13, 49 ) ; // construct a new Point
System.out.println( pt );
}
}
Here is a picture showing the situation before and after the second assignment statement:
In the "After" picture, the first object is shaded to
emphasis that it is now "garbage."
The reference variable pt refers to the newly created object.
QUESTION 14:
What will this second version of the program output to the monitor?