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 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
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
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
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.
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 ...