Parameters, Local Variables, and Overloading
14. Two Objects
Answer:
Mystery sum: 40
sum: 99
Two Objects
Colors in the following show how this works. this
is used in the constructor where the instance variable, not the parameter, should be used.
class Mystery
{
private int sum;
public Mystery( int sum )
{
this.sum = sum;
}
public void increment( int inc )
{
sum = sum + inc;
System.out.println("Mystery sum: " + sum );
}
}
public class Tester
{
public static void main ( String[] args)
{
int sum = 99;
Mystery myst = new Mystery( 34 );
myst.increment( 6 );
System.out.println("sum: " + sum );
}
}
Now look at this modified version:
class Mystery
{
private int sum;
public Mystery( int x )
{
sum = x;
}
public void increment( int inc )
{
sum = sum + inc;
System.out.println("Mystery sum: " + sum );
}
}
public class Tester
{
public static void main ( String[] args)
{
Mystery mystA = new Mystery( 34 );
Mystery mystB = new Mystery( 13 );
mystA.increment( 6 );
mystB.increment( 7 );
}
}
Question 14:
Now what is printed?