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 temporaryString
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
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?