Java Reference
In-Depth Information
This is equivalent to the following:
ToyClass temp = new ToyClass("JOE", 42);
if (variable1.equals(temp))
System.out.println("Equal");
else
System.out.println("Not equal");
In the second version, the object is created, and its reference is placed in the variable
temp . Then temp is plugged in for the parameter in the equals method. But all the
parameter passing mechanism does is to take the reference stored in temp and plug it
into the parameter for equals . The first version simplifies the process. It creates the
reference to the object and directly plugs it into the parameter in equals . It bypasses the
variable temp but ends up plugging in the same reference as the argument to equals .
When not assigned to a variable, an expression such as
new ToyClass("JOE", 42)
is known as an anonymous object . It evaluates a reference to an object of the class. It is
called anonymous because the object is not assigned a variable to serve as its name. We will
eventually encounter situations where the use of such anonymous objects is common.
anonymous
object
Anonymous Objects
An expression with a new operator and a constructor creates a new object and returns
a reference to the object. If this reference is not assigned to a variable, but instead the
expression with new and the constructor is used as an argument to some method, then the
object produced is called an anonymous object .
EXAMPLE
if (variable1.equals( new ToyClass("JOE", 42)))
System.out.println("Equal");
else
System.out.println("Not equal");
The expression new ToyClass("JOE", 42) (or more exactly, the object it creates) is an
example of an anonymous object.
EXAMPLE: Another Approach to Keyboard Input
This example uses the class StringTokenizer , which was covered in a starred section
of Chapter 4. If you have not yet studied the StringTokenizer class, you may omit
this example until you have done so.
The program in Display 5.18 is an example of the use of both the StringTokenizer
class and the method Double.parseDouble to read multiple values of type double
entered on a single line and separated with something other than whitespace.
(continued)
 
Search WWH ::




Custom Search