<< Chapter < Page | Chapter >> Page > |
Grandchildren of the Object class
Those classes that don't directly extend the class named Object also inherit a version of the toString method.
May be default or overridden version
The inherited toString method may be the default version, or it may be an overridden version, depending on whether the method has beenoverridden in a superclass of the new class.
The purpose of the toString method
The purpose of the toString method defined in the Object class is to be overridden in new classes.
The body of the overridden version should return a reference to a String object that represents an object of the new class.
Whenever a String representation of an object is required
Whenever a String representation of an object is required for any purpose in Java, the toString method is called on a reference to the object.
The String that is returned by the toString method is taken to be a String that represents the object.
When toString has not been overridden
When the toString method is called on a reference to an object for which the method has not been overridden, the default version of themethod is called.
The default String representation of an object
The String returned by the default version consists of the following:
As you can see, this does not include any information about the values of the data stored in the object.
Other than the name of the class from which the object was instantiated, this is not particularly useful to a human observer.
Dummy class does not override toString method
In this program, the class named Dummy extends the Object class directly, and doesn't override the toString method.
Therefore, when the toString method is called on a reference to an object of the Dummy class, the String that is returned looks something like the following:
Dummy@273d3c
Note that the six hexadecimal digits at the end will probably be different from one program to the next.
C. 3.5/9/true
More on String concatenation
This program illustrates String concatenation.
The plus (+) operator is what is commonly called an overloaded operator .
What is an overloaded operator?
An overloaded operator is an operator whose behavior depends on the types of its operands.
Plus (+) as a unary operator
The plus operator can be used as either a unary operator or a binary operator. However, as a unary operator, with only one operand to its right, itdoesn't do anything useful. This is illustrated by the following two statements, which are functionally equivalent.
x = y;
x = +y;
Plus (+) as a binary operator
As a binary operator, the plus operator requires two operands, one on either side. (This is called infix notation.) When used as a binary operator, its behavior depends on the types of its operands.
Two numeric operands
If both operands are numeric operands, the plus operator performs arithmetic addition.
If the two numeric operands are of different types, the narrower operand is converted to the type of the wider operand, and the addition is performed as thewider type.
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?