Java Reference
In-Depth Information
Exercise 1.8
Make sure you have several objects on the object bench, and then inspect each
of them in turn. Try changing the state of an object (for example, by calling the
moveLeft
method)
while the object inspector is open. You should see the values in the object inspector change.
Figure 1.6
An object inspector,
showing details of an
object
Some methods, when called, change the state of an object. For example,
moveLeft
changes the
xPosition
attribute. Java refers to these object attributes as
fields.
1.8
What is in an object?
On inspecting different objects, you will notice that objects of the
same
class all have the
same fields. That is, the number, type, and names of the fields are the same, while the actual
value of a particular field in each object may be different. In contrast, objects of a
different
class may have different fields. A circle, for example, has a “diameter” field, while a trian-
gle has fields for “width” and “height.”
The reason is that the number, types, and names of fields are defined in a class, not in an object.
So the class
Circle
defines that each circle object will have five fields, named
diameter
,
xPosition
,
yPosition
,
color
, and
isVisible
. It also defines the types for these fields.
That is, it specifies that the first three are of type
int
, while the color is of type
String
and the
isVisible
flag is of type
boolean
. (
Boolean
is a type that can represent two values:
true
and
false
. We shall discuss it in more detail later.)
When an object of class
Circle
is created, the object will automatically have these fields.
The values of the fields are stored in the object. That ensures that each circle has a color, for
instance, and each can have a different color (Figure 1.7).
The story is similar for methods. Methods are defined in the class of the object. As a result, all
objects of a given class have the same methods. However, the methods are invoked on objects.
This makes it clear which object to change when, for example, a
moveRight
method is invoked.
Exercise 1.9
Figure 1.8 shows two different images. Choose one of these images and rec-
reate it using the shapes from the
figures
project. While you are doing this, write down what
you have to do to achieve this. Could it be done in different ways?
Search WWH ::
Custom Search