Creating and Initializing Objects
Now that we’ve covered fields and methods, we move on to other important members of a class. Constructors and initializers are class members whose job is to initialize the fields of a class.
Take another look at how we’ve been creating
Circle
objects:
Circle c = new Circle();
What are those parentheses doing there? They make it look like
we’re calling a method. In fact, that is exactly
what we’re doing. Every class in Java has at least
one
constructor
,
which is a method that has the same name as the class and whose
purpose is to perform any necessary initialization for a new object.
Since we didn’t explicitly define a constructor for
our Circle
class in Example 3-1,
Java gave us a default constructor that takes no arguments and
performs no special initialization.
Here’s how a constructor
works. The new
operator creates a new, but
uninitialized, instance of the class. The constructor method is then
called, with the new object passed implicitly (a
this
reference, as we saw earlier) as well as
whatever arguments that are specified between parentheses passed
explicitly. The constructor can use these arguments to do whatever
initialization is necessary.
Defining a Constructor
There is some obvious
initialization we could do for our
circle objects, so let’s define a constructor. Example 3-2 shows a new definition for
Circle
that contains a constructor that lets us
specify the radius of a new Circle
object. The
constructor also uses the this
reference ...
Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.