More about Objects and Classes

The relational operations on primitive data are ==, >=, <=, >, <, and !=. They compare two data values, when those values' type has an ordering. For example, integers are ordered by size or magnitude. The result of a relational operation is a boolean value: either True or False. The relational operators on objects like Strings are different, and they are expressed as methods. Pay special attention to the equality method, equals().

12. Changing Data inside a Point


Answer:

  • Just as the program is about to close, how many objects have been created ?

        Six — three Point objects and three temporary String objects
  • How many object references are there?
        Three — each referencing a Point
  • Has any garbage been created?
        Three objects — each temporary String object

Changing Data inside a Point

Look again at the description of class Point, class Point. One of the methods is:

public void move( int x, int y ) ;

This method is used to change the x and the y data inside a Point object. The modifier public means that it can be used anywhere in your program; void means that it does not return a value.

This part of the description

( int x, int y )

says that when you use move, you need to supply two int parameters that give the new location of the point.

Here is the example program, modified again:


import java.awt.*;
class PointEg4
{

  public static void main ( String arg[] )
  {
    Point pt = new Point( 12, 45 );   // construct a Point
    System.out.println( pt );     

    pt.move( -13, 49 ) ;              // change the x and y in the Point
    System.out.println( pt ); 

  }
}

Here is what it writes to the screen:

java.awt.Point[x=12,y=45]
java.awt.Point[x=-13,y=49]

Question 12:

How many Point objects are created by this program?

How many temporary String objects are created by this program?